首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在无边框窗口中嵌入NSMenu以创建假的菜单栏

问如何在无边框窗口中嵌入NSMenu以创建假的菜单栏
EN

Stack Overflow用户
提问于 2012-04-20 02:50:48
回答 1查看 626关注 0票数 0

我正在尝试创建一个可可应用程序中的假菜单栏。我已经能够完成我所需要的95%,只是菜单栏与mainMenu不匹配。请看下面的屏幕截图,这是我目前所拥有的。

我在一个xib中使用了一个"Pop Up Button“对象来尝试模拟系统菜单栏。问题是它是一个弹出式菜单,看起来并不完全像mainMenu。此外,标题菜单项不是hilite,并且弹出菜单具有与菜单标题重叠的圆角。很接近了,但没有雪茄。

是否可以在无边框窗口中创建一个与默认系统菜单栏匹配的假菜单栏?如果是这样的话,是怎么做的?

我还尝试使用NSStatusItem,默认情况下,它与系统菜单栏的匹配程度比我用按钮实现的效果更接近,但我无法将NSStatusItem嵌入到窗口中。

理想情况下,如果有一种方法可以将NSMenu直接嵌入到窗口视图中,那将是最好的解决方案。

​

​

​

​

EN

回答 1

Stack Overflow用户

发布于 2012-04-20 06:50:01

您需要创建一个外观和行为都与顶级项目相似的自定义按钮或视图,然后为视图的menu插座分配一个NSMenu。

然后,您可以在视图中实现menuForEvent:并在鼠标按下时返回菜单,或者在单击鼠标时调用NSMenu类方法+popUpContextMenu:withEvent:forView:。

顺便说一句,这似乎是一个有点奇怪的想法。你为什么想做这件事?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10234812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档