重新认识键盘与鼠标——键盘事件与鼠标事件

Nyako ·
更新时间:2024-11-15
· 774 次阅读

目录

一、键盘事件

1.1 详解VB提供三种键盘事件:KeyPress、KeyDown和KeyUp。

1.2 KeyPress事件

1.3 KeyDown和KeyUp事件

二、鼠标事件

MouseDown、MouseUp和MouseMove事件

一、键盘事件 1.1 详解VB提供三种键盘事件:KeyPress、KeyDown和KeyUp。 如果按下键盘上一个会产生ASCII码的字符键(字母键、数字键和符号键)时,就会触发keyPress事件; 如果按下键盘上的任意键,就会触发KeyDown事件; 如果释放键盘上的任意键,就会触发KeyUp事件。

如果用户按下一个KeyPress不能检测的键时,则触发KeyDown事件。

1.2 KeyPress事件

语法格式

private sub _KeyPress(KeyASCII as integer) ****** end sub

注:是接受键盘事件的窗体或者控件名称。

参数keyPress是所按键的ASCII码值。

常见ASCII码的大小规则:0~9<A~Z<a~z。

48~57为0到9十个阿拉伯数字。

65~90为26个大写英文字母,

97~122为26个小写英文字母,

-20319~-3652为汉字。

1.3 KeyDown和KeyUp事件

KeyDown和KeyUp事件的语法格式同为:

private sub _event(KeyCode as integer,Shift as integer) ****** end sub

注:

是接受键盘事件的窗体或者控件名称。event是键盘事件的名字,KeyDown或KeyUp 参数KeyCode表示按下的物理键,通过ASCII码值或键代码常数来识别。 参数Shift用于表示键盘事件发生时shift、Ctrl和Alt键的状态。
二进制 十进制 常数 意义

001

1 vbShiftMask 按住Shift键
010 2 vbCtrlMask 按住Ctrl键
100 3 vbAltMask 按住Alt键
011 4 vbShiftMask+vbCtrlMask 按住Shift键和Ctrl键
101 5 vbShiftMask+vbAltMask 按住shift键和Alt键
110 6 vbCtrlMask+vbAltMask 按住Ctrl键和Alt键
111 7 vbShiftMask+vbCtrlMask+vbAltMask 按住Shift键、Ctrl键和Alt键

例如

Private Sub txtCardNo_KeyDown(KeyCode As Integer, Shift As Integer) If Shift = 2 And KeyCode = vbKeyV Then '如果是Ctrl+V,清空剪贴板 Clipboard.Clear End If End Sub 二、鼠标事件

单击鼠标触发Click事件,双击鼠标触发DblClick事件。当用户按下鼠标时触发MouseDown事件,松开鼠标时触发MouseUp事件,鼠标指针移动时触发MouseMove事件。

MouseDown、MouseUp和MouseMove事件

MouseDown、MouseUp和MouseMove事件过程的语法格式同为:

private sub _event(Button as Integer,Shift as Integer,X as Single,Y as SIngle) ******* end sub

注:

是接受键盘事件的窗体或者控件名称。event是键盘事件的名字,MouseDown、MouseUp和MouseMove。 参数Button表示引起该事件的是鼠标的那个键。中键3,右键2,左键1。 参数Shift表示当鼠标键被按下或者松开时,shift、Ctrl和Alt键的状态。(具体含义与键盘事件一样) 参数X和Y表示鼠标指针的位置。

例如

Private Sub txtCardNo_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = 2 Then '如果是右键,清空剪贴板 Clipboard.Clear End If End Sub
作者:张有博



鼠标事件 键盘事件 事件

需要 登录 后方可回复, 如果你还没有账号请 注册新账号