10键盘与鼠标事件.docx

上传人:b****2 文档编号:18618965 上传时间:2023-08-20 格式:DOCX 页数:5 大小:16.08KB
下载 相关 举报
10键盘与鼠标事件.docx_第1页
第1页 / 共5页
10键盘与鼠标事件.docx_第2页
第2页 / 共5页
10键盘与鼠标事件.docx_第3页
第3页 / 共5页
10键盘与鼠标事件.docx_第4页
第4页 / 共5页
10键盘与鼠标事件.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

10键盘与鼠标事件.docx

《10键盘与鼠标事件.docx》由会员分享,可在线阅读,更多相关《10键盘与鼠标事件.docx(5页珍藏版)》请在冰点文库上搜索。

10键盘与鼠标事件.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2