如何在Mac OS X中隐藏或禁用菜单项

时间:2009-04-27 09:34:16

标签: macos menu

我可以从CreateNibReference函数中获取菜单句柄,但我不知道如何在Mac OS X中使用句柄隐藏或禁用菜单项?

1 个答案:

答案 0 :(得分:2)

听起来你正在使用Carbon菜单管理器。在这种情况下,如果您有一个MenuRef实例,则调用DisableMenuItem(),传递菜单项的索引,以禁用菜单项:

DisableMenuItem(menuRef, itemIndex);

正如所料,请致电EnableMenuItem()再次启用该项目。

据我所知,没有办法用Carbon Menu Manager“隐藏”菜单项。我能想到的最接近的事情就是删除一个菜单项,在这种情况下你会使用DeleteMenuItem()

DeleteMenuItem(menuRef, itemIndex);

有关如何使用这些功能的详细信息,请参阅Apple的Menu Manager documentation

另外,作为旁注,通常建议在大多数应用中使用Cocoa而不是Carbon。 Apple正在逐步淘汰Carbon,而且可能不久苹果就会完全弃用它。