2017-01-17 4 views
1

Ich fand ein Beispiel mit der TMenuBar.UseOSMenu Eigenschaft, um ein Hauptmenü für Windows und Mac zu platzieren. Aber es scheint, dass es nur für Delphi ist. Ich kann dieselbe Eigenschaft in FMX TMenuBar Komponente in C++ Builder nicht finden.Wie lege ich die Menüleiste in der Apple Menüleiste in Mac OS von C++ Builder?

Kann jemand eine Menüleiste in Apples Menüleiste auf Mac OSX in C++ setzen?

Ich bin mit C++ Builder 10.1 Berlin Update 2.

Antwort

0

Es gibt keine UseOSMenu Immobilien in 10.1 Berlin, in Delphi oder C++. Es wurde in XE3 entfernt:

New Units and Changes in FireMonkey XE3

UseOSMenu wurde entfernt.

Using Menus in a FireMonkey Application

Erstellen von Menüs für OS X und Windows

Verwenden Sie die richtige Steuerung: Für Multi-Plattform-Anwendungen sollten Sie FMX.Menus.TMainMenu, eine nicht-visuelle Komponente

Siehe auch verwenden Ihr Zielsystem (OS X vs. Windows).

  • Für Windows-Anwendungen verwenden, um die TMenuBar Kontrolle:

    • Das Hauptmenü im Client-Bereich der Form (Standard für Windows) platziert wird.
    • Die Menüoptionen befinden sich nicht in der Menüleiste von Mac OS X (nicht für OS X geeignet).
  • Für Mac OS X-Anwendungen, verwenden Sie die TMainMenu Komponente:

    • Das Hauptmenü in dem Nicht-Client-Bereich des Windows-Formulars (Nicht-Standard für Windows) platziert wird.
    • Menüelemente werden in der Mac OS X-Menüleiste platziert (Standard für OS X).
+0

Danke, Remy. Es funktioniert gut, um TMainMenu auf dem Mac OS X zu verwenden. –

+0

Hallo Remy, weißt du, wie man TMainMenu, wenn Anwendung für Windows ist, abstellt/versteckt? Meine Anwendung wird voraussichtlich für Mac OS X und Windows verwendet. Für den obigen Kommentar muss ich "TMenuBar" für Windows und "TMainMenu" für Mac OS X verwenden. Ich kann "TMenuBar" verstecken, wenn es unter Mac OS X läuft, aber ich kann "TMainMenu" nicht verstecken, wenn es unter Windows läuft. Und wenn ich nur "TMainMenu" für beide Betriebssysteme verwende, meldete es manchmal eine Fehlerausnahme zur Laufzeit in Windows. Ist es möglich, "TmainMenu" unter Mac OS X und Windows zu verwenden? Vielen Dank! –

+0

Ich habe keine Ahnung. Dies ist ein Bereich, in dem die Verwendung von plattformübergreifenden Ansichten normalerweise sinnvoll ist, mit der Ausnahme, dass plattformübergreifende Komponenten nicht in separaten Ansichten enthalten sein müssen, was meiner Meinung nach wirklich dumm ist. Und der ganze Sinn von FireMonkey besteht darin, Code einmal zu schreiben und plattformübergreifend zu verwenden. Warum also gibt es nicht eine Menükomponente, die sich auf jeder Plattform entsprechend verhält? Ich weiß es nicht.Sie müssen wahrscheinlich auf $ IFDEF zurückgreifen, um bei Bedarf jede Menükomponente dynamisch zu erstellen. –

Verwandte Themen