第九章 事件过程(Event Procedure) .ppt

上传人:livefirmly316 文档编号:377021 上传时间:2018-10-08 格式:PPT 页数:28 大小:213.50KB
下载 相关 举报
第九章 事件过程(Event Procedure) .ppt_第1页
第1页 / 共28页
第九章 事件过程(Event Procedure) .ppt_第2页
第2页 / 共28页
第九章 事件过程(Event Procedure) .ppt_第3页
第3页 / 共28页
第九章 事件过程(Event Procedure) .ppt_第4页
第4页 / 共28页
第九章 事件过程(Event Procedure) .ppt_第5页
第5页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第九章 事件过程(Event Procedure),返回 目录,9.1 鼠标事件过程,9.4 键盘事件过程,9.2 鼠标光标的形状,9.3 拖放,本章要求,本章要求: 理解事件过程的概念; 掌握常用的鼠标事件; 掌握常用的键盘事件。,返回章首,下一页,第九章 事件过程(Event Procedure),9.1 鼠标事件过程 9.1.1 简单鼠标事件 1.Click事件 【格式】Private Sub Object_Click()其中Object为接收事件的对象名。2.DblClick事件 【格式】Private Sub Object_DblClick(),上一页,返回章首,下一页,【格式】:

2、Sub Object_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Sub Object_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Sub Object_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single),9.1.2 MouseDown、 MouseUp、 MouseMove事件,上一页,返回章首,下一页,1

3、).Button 参数,1 表示按下,0 表示释放,Button值与鼠标个键的状态表,上一页,返回章首,下一页,2) Shift参数,Alt Ctrl Shift,Shift 值 与功能键的状态,b2,b1,b0,上一页,返回章首,下一页,MouseDown、 MouseUp事件 当按下鼠标按钮时发生 MouseDown 事件;当释放鼠标按钮时发生MouseUp事件。例9-2 Click事件与MouseDown、 MouseUp事件的关系。 注意: 应尽量避免对同一对象的Click、DblClick、 MouseDown、MouseUp事件都编写事件过程。,上一页,返回章首,下一页,2.Mou

4、seMove事件 当鼠标指针在对象上移动时发生 MouseMove 事件 事件伴随鼠标指针的移动会连续不断地产生。 例9-5 画曲线。 例9-7 综合三种鼠标事件绘图。要求:按下鼠标左键画图; 若同时按下Shift键开始擦图。,上一页,返回章首,下一页,9.2 鼠标光标的形状 9.2.1 MousePointer 属性当给对象设置该属性值后,在运行时当鼠标移动到该对象上时,光标就会变成相应的形状。 【格式】: 对象.MousePointer = 设置值 例9-8 在文本框中依次显示光标的形状,每隔一秒变换一种。,上一页,返回章首,下一页,9.2.2 MouseIcon属性 MousePoint

5、er 属性设为 99 时, MouseIcon 属性 提供一个自定义鼠标光标的形状。 【格式】: 对象.MouseIcon=LoadPicture(“路径文件名”),上一页,返回章首,下一页,9.3.1. 与拖放有关的属性、事件和方法1.属性1) DragMode属性0:(缺省),手工拖动模式 1:自动拖动模式 。例9-9转换拖放模式2) DragIcon属性 对象.DragIcon=LoadPicture (“C:IconsMail.ico“),9.3 拖放( Drag and Drop ),上一页,返回章首,下一页,2.事件1) DragDrop 事件 当源对象被拖动到目标对象时,释放鼠标

6、键,则会触发目标对象的DragDrop 事件。 【格式】 Private Sub Object_DragDrop(source As Control, x As Single, y As Single)【说明】:source正在被拖动的源控件。x, y 参数代表松开鼠标键放开对象时鼠标光标的位置。,上一页,返回章首,下一页,2) DragOver事件 【格式】: Private Sub Object_Drag Over (source AsControl, x As Single, y As Single, state AsInteger ) 【说明】:state是一个整形变量,由三种取值,分

7、别代表源对象相对于目标对象的三种不同状态:0 = 进入 1 = 离去 2 = 经过,上一页,返回章首,下一页,3.方法 Drag方法 【格式】: 对象.Drag Action 【说明】:Action可选的。它指定要执行的动作。 三种情形: 0:取消拖放操作1: 开始拖放操作2:结束拖放操作,上一页,返回章首,下一页,9.3.2 自动拖放 当DragMode为1时,控件支持自动拖放。 如果希望释放鼠标键后改变源对象的位置,则需 要在目标对象的DragDrop 事件中编写代码移动源 对象。 例9-10 用拖动模仿一个网上购物的过程,上一页,返回章首,下一页,9.3.3 手工拖放 当DragMode

8、为0时,控件支持手工拖放。 手工拖放可以自行决定何时能够拖动控件以及何时停止拖动; 如果希望按下鼠标左键时开始拖动,就可以在MouseDown事件中用Drag方法来启动拖放操作。 例9-11 用手工拖放实现图片的移动和复制。,上一页,返回章首,下一页,9.4.1 KeyPress事件过程【格式】: Sub object_KeyPress(KeyAscii As Integer)【说明】: KeyAscii参数代表触发该事件的键的ASCII码值,KeyAscii是按地址传送的,在事件过程中对它进行改变就会给接受事件的对象发送一个不同的字符。KeyPress事件能区分字符的大、小写。例9-12,9

9、.4 键盘事件过程,上一页,返回章首,下一页,9.4.2 KeyPreview 属性只有获得焦点的对象才接收键盘事件。当KeyPreview 属性被设置为 True 时,窗体先接收键盘事件,然后是活动控件接收事件。例9-13 编写一个简单的打字程序。,上一页,返回章首,下一页,9.4.3 KeyDown、 KeyUp事件过程当按下或释放键盘上的键时触发KeyDown、KeyUp事件。事件能识别的键:ANSI键、控制键、功能键、编辑键、定位键以及这些键和Shift、Ctrl和 Alt 键的组合等。 【格式】Sub object_KeyDown(keycode As Integer, shiftA

10、s Integer)Sub object_KeyUp(keycode As Integer, shift AsInteger),上一页,返回章首,下一页,KeyCode参数: 触发事件的物理键的代码,其值由ASCII码值或键代码常数标识 如: vbKeyF1(F1键)、 vbKey PageUp(PageUp键)等。 在“对象浏览器”中搜索keyCodeConstants项获得各键的键代码。 例9-14 比较、理解KeyAscii与 KeyCode参数的异同。 例9-17 用Shift参数区分大小写。,上一页,返回章首,下一页,KeyPress, KeyDown、 KeyUp事件过程区别:,上

11、一页,返回章首,下一页,键盘事件注意事项,(1)如果已为某些控件定义了快捷键(如命令按钮等),当该键按下时会自动触发该控件的Click事件,而不是键盘事件。 (2)如果某命令按钮的Default属性为True,当按Enter键时,触发该按钮的Click事件。 (3)如果某命令按钮的Cancel属性为True,当按Esp键时,触发该按钮的Click事件。,上一页,返回章首,下一页,(4)按Tab键时将使焦点从一个控件移到另一个控件上而不触发键盘事件,除非窗体上的每个控件都无效或其TabStop属性都为False。 (5)某些控件具有焦点时能拦截键盘事件,如命令按钮具有焦点时键入Enter键不会触

12、发键盘事件。,上一页,返回章首,下一页,选择题: 1.下列鼠标事件中不能区分出按了鼠标的哪一个键的是 Click B.MouseMove C.MouseDown D.MouseUp2.下列鼠标事件中能够区分出同时按了哪些鼠标键的是 Click B.MouseMove C.MouseDown D.MouseUp,上一页,返回章首,下一页,3.通过参数可以判在鼠标键盘事件中是否按了Alt键。 A.Button B.Shift C. X D. Y4.希望窗体先于控件接受键盘事件,需要修改 KeyPress B.KeyDown C.KeyUp D.KeyPreview,上一页,返回章首,下一页,5.运

13、行下面的程序, Private Sub Form_KeyDown (KeyCode As Integer,shift AsInteger)Print Chr(KeyCode+1) End Sub 按下字母键“A”后,输出的结果是A.A B.a C.B D.b,上一页,返回章首,下一页,6.运行下面的程序, Private Sub Text1_ KeyPress (KeyAscii As Integer)KeyAscii=Asc(Ucase(Chr(KeyAscii) End Sub 按下字母键“a” “b”后,输出的结果是 a b B.A B C.a D.A,上一页,返回章首,下一页,7.控件的属性决定控件被拖动时显示的图标。 MouseIcon B.MousePointer C.DragIcon D.DragMode8.能够区分出大小写字母的键盘事件是 KeyPress B.KeyDown C.KeyUp D.KeyPreview,上一页,返回章首,下一章,

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

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1