文档介绍:第14章
键盘与鼠标
本章要点:
•概述
•键盘事件
•鼠标事件
•对象拖放
1
概述
在运行Windows应用程序的过程中,当用户按下键盘的某个键(包括字符键和各种控制键及其组合)时,会产生键盘事件;
当用户移动、单击、双击或拖放鼠标时,会产生鼠标事件。
Visual Basic应用程序能够响应多种键盘事件和鼠标事件。
Visual Basic应用程序还支持大多数控件及OLE的拖放功能。可用控件的Drag方法连同某些属性和事件来实现控件的拖放操作。OLE的拖放使应用程序的数据交换功能大大增强。
2
键盘事件
键盘事件有三种,即KeyPress、KeyUp和KeyDown事件。
KeyPress事件
1、接受KeyPress事件的对象:
窗体、文本框、复选框、组合框、命令按钮、列表框、
图片框、滚动条和文件系统控件等。
2、KeyPress事件响应的键:
(1)字母、数字和标点符号
(2)Enter、Tab和Backspace键
(3)不能检测的键(如Shift、Alt、Ctrl等)
3
1、KeyPress事件过程的一般格式是:
Private Sub 对象名_KeyPress(KeyAscii as Integer )
End Sub
2、如果接受KeyPress事件的对象为控件数组,对应的事件过程的格式为:
Private Sub 控件名_KeyPress(Index as Integer,KeyAscii as Integer )
End Sub
【】将输入到文本框中的所有字符都强制转换为大写字符。
Private Sub Text1_KeyPress (KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub
4
KeyDown事件和KeyUp事件
1、响应时间:
(1)KeyDown事件在按下按键时触发
(2)KeyUp则在释放按键时产生
2、事件过程格式:
(1)KeyDown事件过程格式
Private Sub 对象名_KeyDown(KeyCode As
Integer, Shift As Integer)
End Sub
(2)KeyUp事件过程格式
Private Sub 对象名_KeyUp(KeyCode As Integer,
Shift As Integer)
End Sub
说明: 1、KeyCode是所按键的扫描码
2、扫描码不区分大小写
3、Shift是描述Shift、Ctrl和Alt键状态的二进制整数
5
常用的按键的扫描码
6
键盘事件过程的Shift参数的取值
7
【】判断是否按下了“Y”键。
Private Sub Form_KeyDown(KeyCode As Integer, Shift
As Integer)
If KeyCode = vbKeyY Then MsgBox "您按下了Y键"
End Sub
【】上档符号键的监测。
Private Sub Form_KeyDown(KeyCode As Integer, Shift
As Integer)
If KeyCode = vbKey8 And Shift = 1 Then
MsgBox "您按下了*键"
End If
End Sub
8
鼠标事件
鼠标事件
1、MouseDown事件
(1)格式:
Private Sub 对象_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
(2)发生时间:按下鼠标时
说明:
1、Button参数是一个整数,是一个由3个二进制位组成的位域,分别表示鼠标的3个按钮的状态,如果某个按钮按下,其对应的二进制位就被设置为1,否则为0。Button参数最低位(位0)对应左按钮,中间位(位1)对应右按钮,最高位(位2)对应中间按钮。
2、Shift参数用来监测键盘上Shift、Ctrl和Alt键的状态,与键盘事件的Shift参数相同。
9
3、X、Y参数表示鼠标指针的坐标位置,X、Y的值与当前对象的坐标系有关。
鼠标事件过程的Button参数的取值
10