10键盘与鼠标事件.docx
- 文档编号:30752894
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:5
- 大小:16.08KB
10键盘与鼠标事件.docx
《10键盘与鼠标事件.docx》由会员分享,可在线阅读,更多相关《10键盘与鼠标事件.docx(5页珍藏版)》请在冰豆网上搜索。
10键盘与鼠标事件
第10章键盘与鼠标事件
第一节KeyPress事件
针对键盘的事件,主要是以下三种:
KeyPress、KeyDown、KeyUp事件.
KeyPress事件常用于判断按了什么键:
例1:
文本框只允许输入数字:
键盘只能输入数字:
0的ASCII码为48,9的ASCII码为59
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii<48OrKeyAscii>57ThenKeyAscii=0
EndSub
例2,如果希望将文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写:
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
KeyAscii=Asc(Ucase(Chr(KeyAscii)))
EndSub
例3,两个文本框,当在第一个文本框内输入字符时,第二个文本框显示大写
PrivateSubText1_Change()
Text2.Text=UCase(Text1)
EndSub
第二节KeyDown和KeyUP事件
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
<语句>
EndSub
两个参数:
KeyCode、Shift
1、Keycode
返回的是用户所按键的ASC码;大小写字母用同一个按键,其ASC码为大写字母的ASC码;单键双字符键中,返回的是其下档字符的ASC码。
另外,大键盘上的数字键与小键盘上的数字键不同。
如按下“A”、“a”则返回的Keycode均为65
keycode=0不可限制数据录入
2、Shift
Shift用于返回用户在按键时,是否按下shift、ctrl或Alt键构成组合状态。
返回值
操作
返回值
操作
0
三键都未按
4
按下Alt键
1
按下shift键
5
按下Shift键和Alt键
2
按下ctrl键
6
按下Ctrl中键和Alt键
3
同时按下shift键和ctrl键
7
同时按下三键
对于组合键,对多种可能的情况都要一一判断:
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
SelectCaseShift
Case0
X$=""
Case1
X$="按下Shift"
Case2
X$="按下Ctrl"
Case3
X$="按下Shift、Ctrl"
Case4
X$="按下Alt"
Case5
X$="按下Shift、Alt"
Case6
X$="按下Ctrl、Alt"
Case7
X$="按下Shift、Ctrl、Alt"
EndSelect
Label1.Caption=X+"-"+Str(KeyCode)+"-"+Chr(KeyCode)
EndSub
第三节鼠标事件
针对键盘的事件,主要是以下三种:
MouseMove、MouseDown、MouseUp事件.
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
<语句>
EndSub
Button:
用来判断按下的是鼠标的哪一个键。
Shift:
判断是否按下shift、ctrl或Alt键构成组合状态。
X和Y:
返回指针所在的位置。
Button返回的值
1按下左键
2按下右键
例:
鼠标到哪儿,对象移动到那儿。
建立一个窗体,上面有一个按钮。
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Command1.MoveX,Y
可控制移动点为中心,同拖放事件
EndSub
例:
一个标签,移动到上面时字变倾斜,加下划线,在窗体内移动时又回复原状。
第四节鼠标指针的形状
鼠标指针位于某个对象上时,其形状由对象的MousePointer属性来设置
P270
自定义:
form1.mousepointer=99
form1.mouseicon=loadpicture(“c:
\1.ico”)
第五节
拖放
1、属性
(1)DragMode拖放模式,手动和自动
(2)DragIcon拖放时的图标
2、事件
DragDrop:
鼠标指针指向源控件,按下左键并移动至目的地后释放时,目标对象将产生DragDrop事件。
事件过程的框架如下:
PrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)
……
EndSub
例:
自动拖放
1、在窗体插入一个图片
2、DragMode属性设置为1(自动拖放)
3、DragDrop事件
4、PrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)
Source.Move(X-Source.Width/2),(Y-Source.Height/2)
'去掉控件的宽和高
EndSub
5、手动拖放
mousedown事件中:
打开拖放开关
picture1.drag1
mouseup事件中:
关闭拖放开关
picture1.drag2
最后调用窗体的拖放过程(同自动拖放)
PrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)
Source.Move(X-Source.Width/2),(Y-Source.Height/2)
'去掉控件的宽和高
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 键盘 鼠标 事件