Auf Windows Plattform, mit der VCL , wenn wir ein Trennzeichen in einem Menü hinzufügen möchten, fügen wir ein TMenuItem
mit hinzu a Caption := '-'
;
Mit FireMonkey fügen wir ein TMenuItem
mit einem Text := '-'
;
Es funktioniert wie erwartet auf Windows-Plattform, das Element mit dem Text = '-' wird als Trennzeichen angezeigt.
Aber wenn ich die gleiche Anwendung auf OSX ausführe, habe ich das Minuszeichen sichtbar ...
Ich habe keine Eigenschaft in TMenuItem
gefunden, um anzugeben, dass es sich um ein Trennzeichen ...
Ich habe versucht mit einem TMainMenu
und einem TMenuBar
( UseOSMenu := True|False;
) und ich habe immer noch dieses Problem.
Irgendeine Idee, ein echtes Trennzeichen zu erstellen? (sonst werde ich das OS überprüfen und es entfernen, wenn OSX ...)
Dies ist ein Fehler in FireMonkey. Ich bin sicher, dass sie es lösen werden. Aber in der Zwischenzeit können Sie den folgenden Code verwenden. Rufen Sie die Prozedur FixSeparatorItemsForMac im OnActivate-Ereignis Ihres Hauptformulars auf.
Vergessen Sie nicht, Mac-spezifische Dateien in der Verwendungsliste.
%Vor%Ich habe nie für den Mac programmiert, und ich habe keinen Mac, aber aus Neugierde habe ich eine Apple-Dokumentation darüber gefunden.
Der Menüpunkt "Menütrenner" ist ein deaktivierter leerer Menüeintrag, möglicherweise können Sie damit fälschen:
separatorItem
Gibt ein Menüelement zurück, das zum Trennen von logischen Menügruppen verwendet wird Befehle. + (NSMenuItem *) separatorItem Rückgabewert
Ein Menüelement, das zum Trennen logischer Gruppen von Menübefehlen verwendet wird.
Diskussion
Dieser Menüpunkt ist deaktiviert. Das Standard-Trennzeichen ist Leerzeichen.
(Von: Ссылка )
Ich habe nicht die Möglichkeit, dies zu testen, aber es ist einen Versuch wert.
Standardmäßig erstellt FireMonkey eigene Menüs, die vollständig formatiert sind, setzt aber die Eigenschaft TMenuBar.UseOSMenu auf true und verwendet OS-Aufrufe zum Erstellen der Menüs.
Sie können dies mit dem bereits erwähnten Hinweis zum Erstellen von Cocoa-Menüs kombinieren.
Von Ссылка :
"Wenn die TMenuBar.UseOSMenu-Eigenschaft auf True gesetzt wird, erstellt FireMonkey die Menüstruktur mit Betriebssystemaufrufen, was zu einem systemeigenen Menü führt. Unter Windows befindet sich dieses Menü oben im übergeordneten Formular und wird mit dem aktuellen Design angezeigt Unter Mac OS X wird das Menü in der globalen Menüleiste oben auf dem Hauptbildschirm angezeigt, wenn die Anwendung den Fokus hat. "
Tags und Links delphi delphi-xe2 firemonkey menuitem separator