隐藏空菜单项之间的多余分隔线 [英] Hide extra separator lines between empty menu items

查看:80
本文介绍了隐藏空菜单项之间的多余分隔线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从此链接隐藏菜单项后,分隔线仍会出现=> 可以隐藏首选项"编辑菜单中的项目

Separator lines still appear after hiding menu-items from this link => Can't hide "Preferences" item in edit-menu

我在球拍文档中进行了搜索,发现仅添加了新的分隔符菜单项. https://docs.racket-lang.org/gui/separator- menu-item_.html 是否可以在空菜单项之间隐藏这些多余的行?

I have searched in racket documentation and found only adding new separator menu item. https://docs.racket-lang.org/gui/separator-menu-item_.html Is it possible to hide these extra lines between empty menu items?

推荐答案

在"between"方法中创建分隔线.可以使用void将其删除.

Separator lines are created in the "between" methods. Those are removed by using void.

#lang racket/gui
(require framework)

(define menu-super-frame% 
  (frame:standard-menus-mixin   
   frame:basic%))

(define menu-frame%
  (class menu-super-frame%
    (inherit get-file-menu set-icon)

    (define/override (edit-menu:create-undo?) #t)    
    (define/override (edit-menu:create-redo?) #t)

    ;; hiding items in edit menu
    (define/override (edit-menu:create-cut?) #f)
    (define/override (edit-menu:create-copy?) #f)
    (define/override (edit-menu:create-paste?) #f)
    (define/override (edit-menu:create-clear?) #f)
    (define/override (edit-menu:create-select-all?) #f)
    (define/override (edit-menu:create-preferences?) #f)

    ;; remove separator lines
    (define/override (edit-menu:between-redo-and-cut edit-menu) (void)) 
    (define/override (edit-menu:between-select-all-and-find edit-menu) (void))
    (define/override (edit-menu:between-find-and-preferences edit-menu) (void))

    (super-new)))

(define top-frame 
  (new menu-frame%
       [label "Main Window"]
       [width 200]
       [height 200]
       [alignment (list 'left 'top)]))

(send top-frame show #t)

参考答案

这篇关于隐藏空菜单项之间的多余分隔线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆