4D v16.3

Menu selected

Home

 
4D v16.3
Menu selected

Menu selected 


 

Menu selected {( Untermenü )} -> Funktionsergebnis 
Parameter Typ   Beschreibung
Untermenü  MenüRef in Menüreferenz mit der ausgewählten Zeile
Funktionsergebnis  Lange Ganzzahl in 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.



Siehe auch 

Menüs verwalten

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Menüs
Nummer: 152

Nicht für Server verwendbar

 
GESCHICHTE 

Geändert: 4D v11 SQL

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)