ACTIVATE POPUP-Befehl
Zeigt ein Menü an und aktiviert es.
ACTIVATE POPUP MenuName [AT nRow, nColumn]
[BAR nMenuItemNumber] [NOWAIT] [REST]
Parameter
MenuName
Gibt den Namen des zu aktivierenden Menüs an.AT nRow, nColumn
Gibt die Position an, die das Menü auf dem Bildschirm oder in einem benutzerdefinierten Fenster einnehmen soll. Die Zeilen- und die Spaltenkoordinaten gelten für die obere linke Ecke des Menüs. Die mit diesem Argument festgelegte Position hat Vorrang vor der Position, die Sie in dem entsprechenden DEFINE POPUP-Befehl mit dem Argument FROM angegeben haben.BAR nMenuItemNumber
Gibt an, welcher Befehl ausgewählt sein soll, unmittelbar nachdem das Menü aktiviert wurde. Ist nMenuItemNumber z. B. gleich 2, wird der zweite Befehl ausgewählt. Fehlt BAR nMenuItemNumber oder ist nMenuItemNumber größer als die Anzahl der Menübefehle, wird der erste Befehl ausgewählt.NOWAIT
Gibt an, dass das Programm beim Ablauf nicht warten soll, bis der Benutzer aus der Menüleiste ein Menü gewählt hat. Stattdessen fährt das Programm mit der Ausführung fort.REST
Ist ein Menü über die PROMPT FIELD-Klausel des zugehörigen DEFINE POPUP-Befehls definiert, werden die Inhalte des angegebenen Tabellenfeldes als Menübefehle übernommen. Nachdem das Menü aktiviert wurde, ist zunächst der erste Befehl des Menüs ausgewählt. Dies gilt selbst dann, wenn der Datensatzzeiger der Tabelle auf einen anderen als den ersten Datensatz zeigt.Soll dagegen der Befehl ausgewählt sein, auf den der Datensatzzeiger der Tabelle gerade zeigt, muss das Schlüsselwort REST angeben werden.
Hinweise
ACTIVATE POPUP arbeitet in Verbindung mit DEFINE POPUP zur Erstellung des Menüs und mit DEFINE BAR zur Erstellung der Befehle des Menüs.
Beispiel
In diesem Beispiel wird die ACTIVATE POPUP-Klausel von ON PAD zur Aktivierung eines Menüs verwendet, wenn ein Menüname gewählt wurde. Die aktuelle Systemmenüleiste wird zuerst mit SET SYSMENU SAVE im Arbeitsspeicher gespeichert, und anschließend werden alle Systemmenünamen mit SET SYSMENU TO entfernt.
Mit DEFINE PAD werden zwei neue Systemmenünamen erstellt, mit DEFINE POPUP wird ein Menü für jeden Menünamen erstellt. Die Elemente dieser Menüs werden mit DEFINE BAR erstellt. Wird ein Menüname gewählt, wird das entsprechende Menü mit Hilfe der ACTIVATE POPUP-Klausel von ON PAD aktiviert.
Wird aus einem Menü ein Element ausgewählt, wird die CHOICE-Prozedur ausgeführt. CHOICE zeigt den Namen des gewählten Elements und den Namen des Menüs an, dessen Bestandteil das Element ist. Wird der Befehl Exit aus dem Menü cardinfo gewählt, wird das ursprüngliche Systemmenü von Visual FoxPro wiederhergestellt.
** Name this program ACTIPOP.PRG ** CLEAR SET SYSMENU SAVE SET SYSMENU TO DEFINE PAD convpad OF _MSYSMENU PROMPT '<Conversions' COLOR SCHEME 3 ; KEY ALT+C, '' DEFINE PAD cardpad OF _MSYSMENU PROMPT 'Card <Info' COLOR SCHEME 3 ; KEY ALT+I, '' ON PAD convpad OF _MSYSMENU ACTIVATE POPUP conversion ON PAD cardpad OF _MSYSMENU ACTIVATE POPUP cardinfo DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4 DEFINE BAR 1 OF conversion PROMPT 'Ar<ea' KEY CTRL+E, '^E' DEFINE BAR 2 OF conversion PROMPT '<Length' ; KEY CTRL+L, '^L' DEFINE BAR 3 OF conversion PROMPT 'Ma<ss' ; KEY CTRL+S, '^S' DEFINE BAR 4 OF conversion PROMPT 'Spee<d' ; KEY CTRL+D, '^D' DEFINE BAR 5 OF conversion PROMPT '<Temperature' ; KEY CTRL+T, '^T' DEFINE BAR 6 OF conversion PROMPT 'T<ime' ; KEY CTRL+I, '^I' DEFINE BAR 7 OF conversion PROMPT 'Volu<me' ; KEY CTRL+M, '^M' ON SELECTION POPUP conversion; DO choice IN actipop WITH PROMPT(), POPUP() DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4 DEFINE BAR 1 OF cardinfo PROMPT '<View Charges' ; KEY ALT+V, '' DEFINE BAR 2 OF cardinfo PROMPT 'View <Payments' ; KEY ALT+P, '' DEFINE BAR 3 OF cardinfo PROMPT 'Vie<w Users' ; KEY ALT+W, '' DEFINE BAR 4 OF cardinfo PROMPT '-' DEFINE BAR 5 OF cardinfo PROMPT '<Charges' ; KEY ALT+C, '' DEFINE BAR 6 OF cardinfo PROMPT '-' DEFINE BAR 7 OF cardinfo PROMPT 'E<xit'; KEY ALT+X, '' ON SELECTION POPUP cardinfo; DO choice IN actipop WITH PROMPT(),POPUP()
PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ;
' from popup ' + mpopup NOWAIT
IF mprompt = 'Exit'
SET SYSMENU TO DEFAULT
ENDIF
Siehe auch
CLEAR-Befehle | CREATE MENU | DEACTIVATE POPUP | DEFINE BAR | DEFINE POPUP | HIDE POPUP | MOVE POPUP | ON SELECTION POPUP | POP POPUP | POPUP( ) | PROMPT( ) | PUSH POPUP | SHOW POPUP