2017-01-17 50 views

回答

0

沒有UseOSMenu財產10.1柏林,在Delphi和C++。它在XE3移除:

New Units and Changes in FireMonkey XE3

UseOSMenu已被刪除。對於多平臺應用程序,你應該使用FMX.Menus.TMainMenu,一個不可見的組件

另請參見:

Using Menus in a FireMonkey Application

爲OS X和Windows創建菜單

使用正確的控制您的目標系統(OS X與Windows)。

  • 對於Windows應用程序,使用TMenuBar控制:

    • 主菜單被放置在形式(標準適用於Windows)的客戶區。
    • 菜單項不在Mac OS X菜單欄上(OS X的非標準)。
  • 對於Mac OS X的應用程序,使用TMainMenu組分:

    • 主菜單放置在Windows形式(非標準用於Windows)的非工作區。
    • 菜單項位於Mac OS X菜單欄(OS X的標準)上。
+0

謝謝,雷米。它適用於在Mac OS X上使用TMainMenu。 –

+0

嗨,雷米,你知道如何禁用/隱藏TMainMenu,當應用程序是Windows?預計我的應用程序將用於Mac OS X和Windows。對於以上評論,我需要在Windows中使用「TMenuBar」,在Mac OS X中使用「TMainMenu」。我可以在Mac OS X中運行時隱藏「TMenuBar」,但在Windows上運行時無法隱藏「TMainMenu」。如果我只爲兩個操作系統使用「TMainMenu」,有時它會在運行時在Windows中報告錯誤異常。是否可以在Mac OS X和Windows上使用「TmainMenu」?謝謝! –

+0

我不知道。這是一個使用平臺視圖通常有意義的領域,不同之處在於您不能在單獨的視圖中使用每個平臺的組件,而我認爲這非常愚蠢。 FireMonkey的重點是編寫一次代碼並跨平臺使用,那麼爲什麼沒有一個菜單組件在每個平臺上相應地運行?我不知道。您可能需要使用'$ IFDEF'來在需要時動態創建每個菜單組件。 –