实例6 追踪鼠标和按键
“追踪鼠标和按键”程序运行后,当鼠标指针在窗口中移动时,会在窗口中实时显示鼠标的当前位置;当键盘上的某个按键被按下时,将在窗口中显示该按键的信息:当鼠标双击窗口时,会在窗口中显示出相关的信息。
1.创建程序界面
创建一个“标准EXE”‘工程,设置窗体From1的Caption属性为“按键鼠标”,Font属性为隶书、四号、粗体,ForeColor属性为蓝色。
2.程序代码编辑
在窗体的“代码”窗口中输入以下代码。
Private Sub Form_DblClick()
Me.Cls '清除窗口显示的文字
Print '打印一个空行
Print \"鼠标双击窗体\" '在窗体中显示文字\"鼠标双击窗体\"
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Me.Cls
Print \"键盘上的\"; Chr$(KeyAscii); \"键被按下\" '在窗体上显示键盘按键信息
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Cls
Print \"鼠标当前坐标是:\"; X; \ '在窗体上显示鼠标位置
End Sub
程序中的关键字 Me代表了程序所在的窗体,“Me.Cls”即表示清除当前窗体上所显
示的文字。
Print办法用于在窗体中显示文字或者数据,当Print后边没有参数时,表示打印一个空行,以用于换行等用途。当需要在同一行中打印多个数据时,可以用分号“;”将各个参数区分开,例如:本程序中的“Print”鼠标当前坐标是:”;X;”,”:Y”语句。
程序中使用到了窗体的MouseMove事件和KeyPress事件。
MouseMove事件的事件过程头格式如下:
Private Sub Object_MouseMove(Button As Integer, Shift As Integer. X As Single. Y As Single)其中的Object代表响应该事件的对象,本例中即为Form1窗体,参数Button表示被按下的鼠标按键,其值为一个整数,当Button为0时表示鼠标左键被按下,当Button为1时表示鼠标右键被按下,当Button为2时表示鼠标中间按键被按下。
参数Shift代表被按下的键盘控制键,也是用一个整数来表示。当Shift键被按下时值为0,当Ctrl键被按下时值为1,当Alt键被按下时值为2。
参数X和Y表示鼠标指针在窗体的当前位置。Print \"鼠标当前坐标是:\"; X; \,语句中的X和Y就是来源于MouseMove事件中的参数。
在程序运行期间,若有键盘按键发生时,就会产生KeyPress事件。
语句“Print \"键盘上的\";Chr$(KeyAscii); \"键被按下\"”中的Chr$()是一个VB函数,该函数用于将合法的ASCII码值(由KeyPress事件中的KeyAscii参数给出)转化为对应的键值,这样,该语句就可以显示出被按键的信息。
因篇幅问题不能全部显示,请点此查看更多更全内容