我有一个显示多个子面板的应用程序,客户希望为每个子面板显示不同的菜单。
显然,Mac 应用程序每个系统窗口只能有一个 menuBar,而且它的可修改性极低(如果有的话)。我需要删除/添加或启用/禁用菜单栏上的菜单。
我考虑过让每个子面板成为系统窗口并为每个子面板附加一个菜单栏,但我没有看到任何切换到窗口菜单栏的规定。此外,我怀疑这样做会给子面板造成状态/定位混乱。
我发现了什么
我发现如果我将动作创建为主窗口的子窗口,我可以从菜单本身随意添加和删除它们。所以,我可以修改菜单内容,但不能修改菜单栏内容。
我发现我也可以随时将菜单的标题更改为任何内容。因此,如果我清除内容并将标题设置为空字符串,它会明显地删除菜单(尽管它仍然存在并且仍然突出显示)。
除非有另一种解决方案,否则现在必须这样做。
这在Mac上可能吗?如果我进入 Cocoa(不知道 Cocoa),我是否可以设置多个菜单栏,或者至少在子面板更改时修改菜单栏?