ON KEY LABEL-Befehl
Gibt einen Befehl an, der ausgeführt wird, wenn Sie eine bestimmte Taste oder Tastenkombination drücken oder mit der Maustaste klicken.
ON KEY [LABEL KeyLabelName] [Command]
Parameter
LABEL KeyLabelName
Gibt die Tastenbeschriftung auf der Taste an. KeyLabelName ist der Buchstabe, die Ziffer oder ein spezieller Name, der der Taste zugeordnet ist. In der folgenden Tabelle sind die speziellen Namen für die Tastenbeschriftung aufgelistet.Zuweisung der Tastennamen in Visual FoxPro
Taste KeyLabelName-Wert LEFTARROW RIGHTARROW UPARROW DNARROW POS1 HOME ENDE END BILD-AUF PGUP BILD-AB PGDN ENTF DEL RÜCKTASTE BACKSPACE LEERTASTE SPACEBAR EINFG INS TAB TAB UMSCHALTTASTE+TAB BACKTAB Geschweifte Klammer links LBRACE Geschweifte Klammer rechts RBRACE EINGABETASTE ENTER F1-F12 F1, F2, F3 ... STRG+F1 - STRG+F12 CTRL+F1, CTRL+F2 ... UMSCHALTTASTE+F1 - UMSCHALTTASTE+F12 SHIFT+F1, SHIFT+F2 ... ALT+F1 - ALT+F12 ALT+F1, ALT+F2, ALT+F3 ... ALT+0 - ALT+9 ALT+0, ALT+1, ALT+2 ... ALT+A - ALT+Z ALT+A, ALT+B, ALT+C ... STRG+NACH-LINKS-TASTE CTRL+LEFTARROW STRG+NACH-RECHTS-TASTE CTRL+RIGHTARROW STRG+POS1 CTRL+HOME STRG+ENDE CTRL+END STRG+BILD-AUF CTRL+PGUP STRG+BILD-AB CTRL+PGDN STRG+A - STRG+Z CTRL+A, CTRL+B, CTRL+C ... STRG+0 CTRL+0 RECHTE MAUSTASTE RIGHTMOUSE LINKE MAUSTASTE LEFTMOUSE MAUSTASTE MOUSE ESC ESC Command
Gibt den Befehl an, der ausgeführt wird, wenn Sie eine bestimmte Taste oder Tastenkombination drücken oder mit der Maustaste klicken.Sie können mit dem Befehl, den Sie der Taste zuweisen, Parameter oder Parameterausdrücke einbeziehen, wie im folgenden Beispiel gezeigt wird:
ON KEY LABEL ALT+V WAIT WINDOW "Version: " + VERSION()
Sie können auch Variablen in die Zuweisung einbeziehen. Dabei muss es sich um globale Variablen handeln. Beispiel:
PUBLIC message message = "Default drive: " + SYS(5) ON KEY LABEL ALT+D WAIT WINDOW message
Hinweise
ON KEY LABEL verwendet zum Ausführen einer Prozedur normalerweise DO.
ON KEY LABEL führt den Befehl während der Ausführung von READ, BROWSE, EDIT, CHANGE und von benutzerdefinierten Menüs sofort aus. Wenn beim Drücken der Taste oder Klicken mit der Maustaste ein Programm ausgeführt wird, führt Visual FoxPro die aktuelle Programmzeile und anschließend den ON KEY LABEL-Befehl aus. Alle ON KEY LABEL-Tastenzuordnungen, die in einem Programm erstellt wurden, bleiben auch nach der Programmausführung gültig. Sie können Tastenzuordnungen auch im Befehlsfenster erstellen.
Zum Wiederherstellen der normalen Funktion einer bestimmten Taste müssen Sie ON KEY LABEL KeyLabelName ausgeben. Zum Wiederherstellen der normalen Funktion aller Tasten können Sie ON KEY ausgeben.
Tipp Um rekursive Aufrufe während des Ausführens einer ON KEY LABEL-Prozedur zu verhindern, geben Sie am Anfang der Prozedur PUSH KEY CLEAR an, um alle aktiven ON KEY LABEL-Befehle zu deaktivieren. Geben Sie POP KEY am Ende der Prozedur an, um die ON KEY LABEL-Befehle wieder zu aktivieren.
Die ON KEY LABEL-Tastenzuordnungen sind in der Visual FoxPro-Systemmenüleiste, den Systemmenüs, Dialogfeldern, Warnmeldungen usw. nicht wirksam. Die Tastenzuordnungen sind jedoch in den Visual FoxPro-Systemfenstern (Visual FoxPro-Texteditor, Befehlsfenster, Programmverfolgungsfenster usw.) wirksam.
Im Gegensatz zu ON KEY können mehrere ON KEY LABEL-Befehle aktiv sein. Beispielsweise kann jeder Pfeiltaste und einer Maustaste ein Befehl zugeordnet werden.
Beim Ausführen eines ON KEY LABEL-Befehls wird PARAMETERS( ) auf 0 zurückgesetzt. Weitere Informationen hierüber finden Sie unter PARAMETERS( ).
In Visual FoxPro können bestimme Ereignisse nicht abgefangen werden, da diese von Windows gesteuert werden. Insbesondere ON KEY LABEL MOUSE, ON KEY LABEL LEFTMOUSE und ON KEY LABEL RIGHTMOUSE werden nicht ausgeführt, wenn Sie auf ein Windows-Steuerelement (z. B. ein Systemmenü, eine Bildlaufleiste o. ä.) klicken. Weiterhin wird in Visual FoxPro CTRL+0 in ON KEY LABEL unterstützt, wodurch Sie die Möglichkeit haben, die Tastenkombination neu zu definieren, mit deren Hilfe ein NULL-Wert in ein Feld eingegeben wird.
Beachten Sie, dass ON KEY LABEL außerhalb des Gültigkeitsbereichs eines Formulars ausgeführt wird; das KeyPress-Ereignis kann in Formularen verwendet werden, um einen Code auszuführen, wenn eine Taste gedrückt wird.
Beispiel
Im folgenden Beispiel wird eine Meldung angezeigt, wenn Sie eine Pfeiltaste drücken.
CLEAR
PUBLIC msg
msg = CHR(13) + CHR(13) + "Press F9 to " + ;
"restore default key definition."
ON KEY LABEL RIGHTARROW Wait Window "Right Arrow " + msg NOWAIT
ON KEY LABEL LEFTARROW Wait Window "Left Arrow " + msg NOWAIT
ON KEY LABEL UPARROW Wait Window "Up Arrow " + msg NOWAIT
ON KEY LABEL DNARROW Wait Window "Down Arrow " + msg NOWAIT
* Press F9 to clear the ON KEY LABEL assignments
ON KEY LABEL F9 ON KEY
Siehe auch
INKEY( ) | KeyPress-Ereignis | ON( ) | POP KEY | PUSH KEY