将 NSDocument 设置为 NSMenu 的委托

发布于 2024-11-01 02:06:01 字数 240 浏览 0 评论 0原文

我有一个菜单项,其状态应取决于打开的 NSDocument 。根据我的理解,要使其状态动态更改,我应该使用 NSMenu 委托方法 menuNeedsUpdate:

看来我想让菜单的委托成为 MainMenu.xib 中的第一响应者。但是,Interface Builder 不允许我将其设置为主菜单的委托。如何创建能够访问当前活动文档的代表?

I have a menu item whose state should depend on whichever NSDocument is open. From my understanding, to make its state change dynamically I should use the NSMenu delegate method menuNeedsUpdate:.

It seems like I would want to have the menu's delegate be the First Responder in MainMenu.xib. However, Interface Builder won't let me set it as the Main Menu's delegate. How can I make a delegate which will be able to access the currently active document?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七秒鱼° 2024-11-08 02:06:01

我通常在 validateMenuItem: 方法在菜单显示之前被调用。操作的接收者被询问是否启用该项目。但你几乎可以在那里做任何改变。从 10.5 开始,在此类调用期间添加和删除项目也是安全的。

I generally make such changes in the validateMenuItem: method being called before the menu is shown. The receiver of the action is asked whether the item is to be enabled or not. But you can do pretty much any change there. Since 10.5 it is also safe to add and remove items during such a call.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文