Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Datei:...\Samples\Solution\Menus\Fillmenu.scx
Dieses Beispiel illustriert das Hinzufügen von Menüeinträgen zu einem Menü zur Laufzeit.
Die Menüdefinition dieses Beispiels ist im Menü-Designer festgelegt und enthält eine Eingabeaufforderung und ein leeres Untermenü namens empty_pop.
Außerdem ist Code enthalten, der bei Wahl eines Befehls aus dem Menü ausgeführt wird.
PROCEDURE takeaction(cPrompt)
#DEFINE MSG_LOC "You chose " + cPrompt + "."
IF cPrompt = "Release this menu"
RELEASE PAD dynmenu of _MSYSMENU
ELSE
WAIT WINDOW MSG_LOC TIMEOUT 1
ENDIF
Der mit dem Click-Ereignis assoziierte Code von cmdRefresh auf dem Formular führt das Menü aus.
DO dynamic.mpr
Dann definiert der Code für jeden Eintrag der Liste einen Menübefehl mit Eingabeaufforderung und Meldungstext.
FOR i = 1 TO THISFORM.lstMenu.ListCount
DEFINE BAR i OF empty_pop PROMPT (ALLTRIM(THISFORM.lstMenu.List(i,1))) ;
MESSAGE (THISFORM.lstMenu.List(i,2))
ENDFOR
Darüber hinaus steht Code für die Bereitstellung der Eingabeaufforderung zur Verfügung, die es den Benutzern ermöglicht, das Menü freizugeben.
DEFINE BAR i + 1 OF empty_pop PROMPT "\-"
DEFINE BAR i + 2 OF empty_pop PROMPT "Release this menu" ;
MESSAGE "Remove the Dynamic Items menu from the menu bar."
Siehe auch
Koordinieren von Menübefehlen und Symbolleistenschaltflächen | Lösungsbeispiele