1、10键盘与鼠标事件第10章 键盘与鼠标事件第一节 KeyPress事件针对键盘的事件,主要是以下三种:KeyPress、KeyDown、KeyUp事件.KeyPress 事件常用于判断按了什么键:例1:文本框只允许输入数字:键盘只能输入数字:0的ASCII码为48,9的ASCII码为59Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii 57 Then KeyAscii = 0End Sub例2,如果希望将文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写:Private Sub Text1_KeyPres
2、s (KeyAscii As Integer) KeyAscii = Asc(Ucase(Chr(KeyAscii)End Sub例3,两个文本框,当在第一个文本框内输入字符时,第二个文本框显示大写Private Sub Text1_Change()Text2.Text = UCase(Text1)End Sub第二节 KeyDown和KeyUP事件Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) End Sub两个参数:KeyCode、 Shift1、Keycode返回的是用户所按键的ASC码;大小写字母用同一个按键
3、,其ASC码为大写字母的ASC码;单键双字符键中,返回的是其下档字符的ASC码。另外,大键盘上的数字键与小键盘上的数字键不同。如按下“A”、“a”则返回的Keycode均为65keycode=0不可限制数据录入2、ShiftShift用于返回用户在按键时,是否按下shift、ctrl或Alt键构成组合状态。返回值操 作返回值操 作0三键都未按4按下Alt键1按下shift键5按下Shift键和Alt键2按下ctrl键6按下Ctrl中键和Alt键3同时按下shift键和ctrl键7同时按下三键对于组合键,对多种可能的情况都要一一判断:Private Sub Form_KeyDown(KeyCod
4、e As Integer, Shift As Integer)Select Case ShiftCase 0X$ = Case 1X$ = 按下ShiftCase 2X$ = 按下CtrlCase 3X$ = 按下Shift、CtrlCase 4X$ = 按下AltCase 5X$ = 按下Shift、AltCase 6X$ = 按下Ctrl、AltCase 7X$ = 按下Shift、Ctrl、AltEnd SelectLabel1.Caption = X + - + Str(KeyCode) + - + Chr(KeyCode)End Sub第三节 鼠标事件针对键盘的事件,主要是以下三种:
5、MouseMove、MouseDown、MouseUp事件.Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub Button:用来判断按下的是鼠标的哪一个键。Shift:判断是否按下shift、ctrl或Alt键构成组合状态。X和Y:返回指针所在的位置。Button返回的值1 按下左键2 按下右键例:鼠标到哪儿,对象移动到那儿。建立一个窗体,上面有一个按钮。Private Sub Form_MouseMove(Button As Integer, Sh
6、ift As Integer, X As Single, Y As Single) Command1.Move X, Y可控制移动点为中心,同拖放事件End Sub例:一个标签,移动到上面时字变倾斜,加下划线,在窗体内移动时又回复原状。第四节 鼠标指针的形状鼠标指针位于某个对象上时,其形状由对象的MousePointer属性来设置P270自定义:form1.mousepointer=99form1.mouseicon=loadpicture(“c:1.ico”)第五节 拖 放1、 属性(1) DragMode拖放模式,手动和自动(2) DragIcon拖放时的图标2、事件DragDrop:鼠标
7、指针指向源控件,按下左键并移动至目的地后释放时,目标对象将产生DragDrop事件。事件过程的框架如下:Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) End Sub例:自动拖放1、 在窗体插入一个图片2、 DragMode属性设置为1(自动拖放)3、 DragDrop事件4、 Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)Source.Move (X - Source.Width / 2), (Y - Source.Height / 2 ) 去掉控件的宽和高End Sub5、 手动拖放mousedown事件中:打开拖放开关picture1.drag 1mouseup事件中:关闭拖放开关picture1.drag 2最后调用窗体的拖放过程(同自动拖放)Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)Source.Move (X - Source.Width / 2), (Y - Source.Height / 2 ) 去掉控件的宽和高End Sub
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2