Hide extra separator lines between empty menu items

感情迁移 提交于 2019-12-11 04:43:44

问题


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

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?


回答1:


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)

reference answer



来源:https://stackoverflow.com/questions/38236400/hide-extra-separator-lines-between-empty-menu-items

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!