繁体   English   中英

检测菜单栏是隐藏还是可见

Detect if menu bar is hidden or visible

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

当菜单栏变得隐藏或可见时,Cocoa中有没有办法接收通知(或类似的东西)? 我试过四处寻找并且没有找到关于这个主题的任何信息。

谢谢

4 个回复

我通过使用Carbon的菜单事件处理程序解决了这个问题。

我注册了事件kEventMenuBarHiddenkEventMenuBarShown类下kEventClassMenu

(可选)注意类NSStatusBarWindow对象的(Cocoa)通知和通知

菜单栏显示或隐藏时收到通知。

如果你只需要在菜单栏的当前状态,另一种方法是使用visibleFrame财产NSScreen

返回的矩形始终基于当前用户界面设置,不包括Dock和菜单栏当前占用的区域。

但是,如果需要通知菜单栏可见性更改,则这本身就不够了。

我认为正确的方法是使用键值观察(KVO)来观察应用程序对象( NSApp[NSApplication sharedApplication] )的presentationOptionscurrentSystemPresentationOptions属性。 如果更改,请检查其值以查看它是否包含NSApplicationPresentationHideMenuBarNSApplicationPresentationAutoHideMenuBar 如果是,则菜单被隐藏(或当光标不在主屏幕顶部附近时隐藏。

presentationOptionscurrentSystemPresentationOptions之间的区别在于您是否对调用应用程序隐藏其菜单栏或活动应用程序(可能是另一个应用程序)是否隐藏其菜单栏感兴趣。 后者表示用户是否可以看到任何菜单栏。

1 检测菜单栏跟踪

有没有一种方法可以检测何时在菜单栏上开始跟踪,包括在菜单附加项上? 我有一个想要像菜单一样运行的窗口,因此在显示任何其他菜单时都需要将其隐藏。 ...

2014-01-07 19:01:12 0 58   cocoa
2 如何隐藏继承的菜单栏?

我有一个需要继承基本表单的表单。 问题在于基本表单具有菜单条。 我正在处理的表单上不应包含任何菜单。 如何隐藏继承的菜单栏? 或者,如何将继承的菜单交换为以新形式构造自己的东西? ...

3 如何隐藏窗口的菜单栏?

我正在尝试使用Windows API在C ++应用程序中隐藏菜单栏。 我正在使用AppendMenu / RemoveMenu来编辑项目。 但我厌倦了整个基于菜单的界面,我只是想隐藏整个应用程序菜单栏。 我怎么能使用Windows API来做到这一点? ...

4 如何显示和隐藏菜单栏

请查看此菜单的设计: http : //jordanek.eu/aktual/index6.html我在其中制作了一个菜单(左侧),该菜单具有一些功能,例如,单击白色条形“ Vyrobce”,然后单击黄色条形“会出现“ Vyrobce”,白色栏“ Vyrobce”会消失。 然后,当单击黄色栏“ ...

5 你如何隐藏WPF DocumentViewer的菜单栏?

目前,我在WPF窗口中有一个显示XPS文件的DocumentViewer 。 我创建了自己的“下一页”和“上一页”按钮,并将DocumentViewer.Background属性设置为完全透明。 DocumentViewer自己的控件剩下的就是顶部的菜单栏(显示缩放设置,打印等)和底部的 ...

7 隐藏底座图标而不隐藏菜单栏

我使用此主题中的想法来可选地隐藏应用程序的停靠图标。 如果毕竟显示了底座图标,则菜单栏也应显示。 仅凭九龙的回答,我才无法完成这项工作。 菜单栏仍处于隐藏状态。 因此,基本上,“应用程序是代理”在InfoPList中设置为“ 1”,并且使用了以下代码: 那么,为什么在我隐藏并 ...

9 NSMenu检测全屏菜单栏可见

我正在为OSX编写弹出菜单栏应用程序。 隐藏菜单栏(全屏应用程序处于活动状态)时,我需要打开应用程序。 这是代码: 但是,即使有应用处于全屏模式, NSMenu.menuBarVisible()函数似乎总是返回true 。 有谁知道为什么或有替代解决方案? 该文档指出NS ...

10 检测全屏菜单栏移动

所以现在我有一个NSWindow使用INAppStoreWindow像NSToolbar一样吸引自己,我想知道在应用程序全屏显示时菜单栏移动时是否发送了任何类型的事件或消息,以便我可以移动作为响应的窗口的标题栏(标准NSToolbar的工作方式)。 显然,NSToolbar知道我不知道的事情, ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM