Menu selected

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11 (Geändert)


Menu selected

ParameterTypBeschreibung
UnterMenüMenüRefMenüreferenz mit der ausgewählten Zeile
FunktionsergebnisNumerischausgewählter Menübefehl
Menünummer in höherwertigen 2 Byte
Menüzeilennummer in niederwertigen 2 Byte

Beschreibung

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 ausge-wählt, gibt die Funktion im optionalen Parameter Untermenü die Refe--renz (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 hierar-chisches 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.

Beispiel

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.

Referenz

Menüs verwalten.


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next