on key label 命令

示例 请参阅

指定当按下特定键或组合键,或者单击鼠标按钮时所要执行的命令。

语法

ON KEY [LABEL KeyLabelName] [Command]

参数
LABEL KeyLabelName

为键指定键标记,KeyLabelName 是键上的字母或数字或者指定给该键的特殊名称。下表列出了特殊的键标记名称。后面表中列出了 FoxPro for Macintosh 中例外的标记。

Visual FoxPro 键标记指定值:

键标记
LEFTARROW
RIGHTARROW
UPARROW
DNARROW
HOME HOME
END END
PAGE UP PGUP
PAGE DOWN PGDN
DEL DEL
BACKSPACE BACKSPACE
SPACEBAR SPACEBAR
INS INS
TAB TAB
SHIFT+TAB BACKTAB
ENTER ENTER
F1 to F12 F1, F2, F3 ...
CTRL+F1 to CTRL+F12 CTRL+F1, CTRL+F2 ...
SHIFT+F1 to SHIFT+F12 SHIFT+F1, SHIFT+F2 ...
ALT+F1 to ALT+F12 ALT+F1, ALT+F2, ALT+F3 ...
ALT+0 to ALT+9 ALT+0, ALT+1, ALT+2 ...
ALT+A to ALT+Z ALT+A, ALT+B, ALT+C ...
CTRL+LEFT ARROW CTRL+LEFTARROW
CTRL+RIGHT ARROW CTRL+RIGHTARROW
CTRL+HOME CTRL+HOME
CTRL+END CTRL+END
CTRL+PAGE UP CTRL+PGUP
CTRL+PAGE DOWN CTRL+PGDN
CTRL+A TO CTRL+Z CTRL+A, CTRL+B, CTRL+C ...
CTRL+0 CTRL+0
RIGHT MOUSE BUTTON RIGHTMOUSE
LEFT MOUSE BUTTON LEFTMOUSE
MOUSE BUTTON MOUSE
ESC ESC

Command

指定当按下特定键或组合键或者单击鼠标按钮时所执行的命令。

说明

一般来说,ON KEY LABEL 使用 DO 来执行一个过程。
在 READ,BROWSE,EDIT,CHANGE 或者用户自定义菜单的执行过程中,ON KEY LABEL 立即执行命令。如果按键或者单击鼠标时某程序正在运行,Visual FoxPro 将执行完该程序当前行后再执行 on key label 命令。在程序中创建的任何 ON KEY LABEL 键指定值在程序运行完毕后仍然有效。也可以在命令窗口中创建键指定值。
如果要恢复指定键的行为,可以使用 ON KEY LABEL KeyLabelName 命令。如果要把全部键的行为恢复正常,应使用 ON KEY 命令。

提示
为防止在执行 ON KEY LABEL 过程中递归调用,应在过程前面包含 PUSH KEY CLEAR 命令以废止所有激活的 on key label 命令。然后在过程末尾发出一个 POP KEY 命令来启用 on key label 命令。

ON KEY LABEL 键指定值在 Visual FoxPro 系统菜单栏、系统菜单、对话框和警报器等处不起作用。它们只在 Visual FoxPro 系统窗口、Visual FoxPro 文本编辑器、命令窗口、跟踪窗口等处有效。
与 ON KEY 不同,可以有多个激活的 on key label 命令。例如,可以为每个箭头键和鼠标按钮指派命令。
注意:在执行 ON KEY LABEL 时,PARAMETERS( ) 设置为 0。有关详细内容,请参阅 PARAMETERS( )
FoxPro 中某些事件不可被俘获,因为它们在相应窗口的控制之下。特别的,当单击一个控制菜单或滚动条之类的窗口控制时,不执行 ON KEY LABEL MOUSE,ON KEY LABEL LEFTMOUSE 和 ON KEY LABEL RIGHTMOUSE 。还要注意在 Visual FoxPro 中,ON KEY LABEL 支持 CTRL+0,它将该组合键重定义为向字段中输入空值。

在 FoxPro for Macintosh 中,ON KEY LABEL 支持 命令键,可以用 CMD 命令指定它。CTRL 与 命令键在 FoxPro for Macintosh 中等价并且可互换使用。如果应用程序需要运行在其他 FoxPro 平台上,为获得最大的兼容性,最好使用 CTRL 键。
因为 Macintosh 的鼠标只有一个按钮,所以在单击鼠标时,应使用 ON KEY LABEL LEFTMOUSE 或 ON KEY LABEL MOUSE 来执行命令。当按下 + Option 键的同时单击鼠标时,应使用 ON KEY LABEL RIGHTMOUSE 来执行命令。

Macintosh 也支持为 RETURN 键指定值。ON KEY LABEL RETURN 与 ON KEY LABEL ENTER 等价。同样 ON KEY LABEL DEL 与 ON KEY LABEL BACKSPACE 等价。
在 FoxPro for Macintosh 中使用 CTRL+OPTION 来模仿 Visual FoxPro、FoxPro for Windows 以及 FoxPro for MS-DOS 中的 ALT 键。
有关 FoxPro for Macintosh 中键盘与键击的详细内容,请参阅《安装与 Macintosh 功能指南》中“键盘差异”一节。