我在Delphi Seattle中创建了一个多设备应用程序,并添加了一个带有MenuItem1和MenuItem2的TMainMenu(没有别的)。构建和运行OSX,只有MenuItem2显示。构建和运行Windows,两个菜单项都显示。我没有区别对待这两个菜单项。两者都只是添加而不是以任何方式定制。还有其他人经历过这个吗?
答案 0 :(得分:6)
Mac菜单栏中的顶级项目通常如下所示:
Apple/system menu ('About this Mac', 'System Preferences...', etc.)
Application menu ('About XXX', 'Services', 'Hide XXX', 'Hide Others',
'Show All', 'Quit XXX')
File menu
Edit Menu
...
在FMX中(除了第一个版本),TMainMenu中的第一个顶级项目代表应用程序菜单。因此,您需要在File X之前添加一个项目(或者您当前的第一个项目),它只显示在OS X上;然后,它的子项应包括Mac应用程序菜单的常用项。要实现这些项的行为,您可以使用标准操作(TFileHideApp,TFileHideAppOthers,TFileExit)。或者,更详细:
...
procedure TForm1.FormCreate(Sender: TObject);
begin
mnuApp.Visible := (TOSVersion.Platform = pfMacOS);
itmExit.Visible := (TOSVersion.Platform <> pfMacOS);
end;