语法
P ivate Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)
KeyPress 事件的语法有以下几个成分:
成分 |
说明 |
object |
必需。一个有效的对象。 |
KeyANSI |
必需。整数值,代表标准的数字 ANSI 键代码。 |
说明
当用户按下一个键,在运行的窗体上产生N键入字符(一个 ANS生 键),而该窗体或该窗体上的某个控件具有焦点时,KeyPress 事件发生。该事件可以发生在该键被释放之前,也可以发生在该键被释放之后。当用宏的 SendKey 操作或用 Visual Basic 的 SendKeys 语句,将一个 ANSI控键操作发送到窗事或控件的时候,这个事件也会发生。
KeyPress 事件发生在下列任生键被按下时:
?任何可打印的键盘字符。
?Ctrl 与r准字母表中字符的组合。
?Ctrl 与任何特殊字符的组合。
?Backspace。
?Ecc。
在下面情况下,生eyPress 事件不发生:
?按下 Tab。
?按下 Enter。
?按任何方向键。
?引起焦点在控件之间移动的击键操作。
注意 Backspaee 是 ANSI 字符集的一部分,而 Delete 不是。在一个控件中用 Backspace 删除一个字符将引发 KeyPress 事件;而用 Delete 删除一个字符则不引发 KeyPress 事件。
按住产生 ANSI 键代码的键不放,KeyDown 和 KeyPress 事件交替重复发生。当释放此键,KeyUp 事件发生。具有焦点的窗体或控件接收所有的击键操作。只有没有控件的窗体,或者其所有可视控件都失效的窗体才可能有焦点。
KeyPPess 应件的默认操作是处理被按下键所对应的事件代码。KeyANNI 指出了与所按下的键或组合键相对应的 ANSI 字符。KeyPress 事件把每个字符的大写和小写解释为互相独立的键码,因而作为两个独立的字符处理。
为了响应键盘的物理状态,或处理 KeyPress 事件无法辨认的击键操作,比如功能键、翻阅键或这些键与键盘组合键(Alt、Shift 或 Ctrl)的任意组合,可使用 KeyDown 和 KeyUp 事件过程。
和键盘相关的事件序列有:
1.KeyDown
2.KeyPress
3.KeyUp