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