Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Menu selected
|
Menu selected {( Untermenü )} -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Untermenü | MenüRef |
![]() |
Menüreferenz mit der ausgewählten Zeile | |||||
Funktionsergebnis | Lange Ganzzahl |
![]() |
ausgewählter Menübefehl: Menünummer in höherwertigen 2 Byte, Menüzeilennummer in niederwertigen 2 Byte | |||||
Die Funktion Menu selected wird nur beim Anzeigen von Formularen verwendet. Damit finden Sie heraus, welche Menüzeile der Anwender gewählt hat. Bei einem hierarchischen Untermenü wird die Referenz des Untermenüs zurückgegeben.
Tipp: Verwenden Sie vorzugsweise Methoden, die Menübefehlen in verknüpften Menüleisten (mit negativen Nummern) zugeordnet sind. Verknüpfte Menüleisten sind leichter zu verwalten, da Sie die Auswahl nicht prüfen müssen.
Menu selected lässt sich auch zum Arbeiten mit hierarchischen Untermenüs verwenden. Wird eine hierarchische Menüzeile außerhalb der ersten Ebene ausgewählt, gibt die Funktion im optionalen Parameter Untermenü die Referenz (Typ MenüRef, String mit 16 Zeichen) des Untermenüs zurück, zu der die gewählte Menüzeile gehört. Enthält die Menüzeile kein hierarchisches Untermenü, erhält dieser Parameter einen leeren String.
Menu selected gibt die Nummer des Menüs bzw. Menübefehls als Lange Ganzzahl zurück. Für die Menünummer dividieren Sie Menu selected durch 65.536 und konvertieren das Ergebnis in eine Ganzzahl. Für die Menüzeilennummer berechnen Sie den Restwert (Modulo) von Menu selected dividiert durch 65.536. Die jeweilige Formel lautet:
Menu:=Menu selected\ 65536
menu command:=Menu selected% 65536
Sie können Sie diese Werte auch über Bit-Operatoren entnehmen:
Menu:=(Menu selected & 0xFFFF0000)>>16
menu command:=Menu selected & 0xFFFF
Wurde kein Menübefehl ausgewählt, gibt Menu selected den Wert 0 zurück.
Folgende Formularmethode liefert über Menu selected die Argumente für Menü und Menübefehl an SET MENU ITEM MARK:
Case of
:(FORM Event=On Menu Selected)
C_STRING(16;$refMenuIncludingItem)
C_LONGINT($ref;$MenuNum;$MenuItemNum)
$ref:=Menu selected($refMenuIncludingItem)
$MenuNum:=$ref\65536
$MenuItemNum:=$ref%65536
SET MENU ITEM MARK($refMenuIncludingItem;$MenuItemNum;Char(18))
End case
Hinweis: Das Formularereignis On Menu Selected wird nicht aktiviert, wenn kein Eintrag ausgewählt ist. $refMenuIncludingItem wird immer ein Wert gegeben und $MenuNum ist gleich 0, wenn das Menü kein Menü der Menüleiste ist.
Produkt: 4D
Thema: Menüs
Nummer:
152
Geändert: 4D v11 SQL
4D Programmiersprache ( 4D v20 R7)