鼠标键盘事件过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
鼠标键盘事件过程
一、鼠标事件过程
1.Click事件 . 事件
此事件是在一个对象上单击一个鼠标按钮是发生。 此事件是在一个对象上单击一个鼠标按钮是发生。也会发生在一个控件的 值改变时, 事件的语法如下: 值改变时,Click事件的语法如下: 事件的语法如下 Private Sub object_Click([index As Integer])
说明: 说明:Index:整数,用来唯一地标识一个在控件数组中的控件。 :整数,用来唯一地标识一个在控件数组中的控件。 2.DblClick事件 . 事件
当在一对象上双击鼠标按钮时,该事件发生。 事件的语法如下: 当在一对象上双击鼠标按钮时,该事件发生。DblClick事件的语法如下: 事件的语法如下
Private Sub object_DblClick([index As Integer])
说明:若在Click事件中有代码,则DblClick事件将不会被触发。Click 事件是两个事 事件中有代码, 事件将不会被触发。 说明:若在 事件中有代码 事件将不会被触发
件中首先被触发的事件, 事件被Click事件截断,从而使 事件截断, 件中首先被触发的事件,DblClick 事件被 事件截断 从而使DblClick事件不会发 事件不会发 生。
一、鼠标事件过程
3.MouseDown、MouseUp事件 . 、 事件
事件,释放鼠标按钮时发生MouseUp 事 按下鼠标按钮时发生MouseDown 事件,释放鼠标按钮时发生 语法如下: 件。语法如下:
Private Sub object_MouseDown([index As Integer,]button As Integer,shift As Integer,x As Single,y As Single) Private Sub object_MouseUp([index As Integer,]button As Integer,shift As Integer,x As Single,y As Single)
说明: 返回一个整数, 说明 (1)Button:返回一个整数,用来标识该事件的产生是按下哪个按钮。 返回一个整数 用来标识该事件的产生是按下哪个按钮。
常数(按钮) 常数(按钮) VbLeftButton VbRightButton VbMiddleButto n 值 1 2 4 描述 左按钮按下 右按钮按下 中间按钮按下
一、鼠标事件过程
(2)Shift:返回一个整数,对应于Shift、Ctrl和Alt键的状态。 返回一个整数,对应于 键的状态。 返回一个整数 、 和 键的状态
常数(换挡) 常数(换挡) VbShiftMask VbCtrlMask VbAltMask 值 1 2 4 描述 Shift按下 按下 Ctrl按下 按下 Alt按下 按下
(3)x,y:指定鼠标指针当前位置。 指定鼠标指针当前位置。 指定鼠标指针当前位置
4.MouseMove事件 . 事件
此事件在移动鼠标时发生。语法如下: 此事件在移动鼠标时发生。语法如下:
Private Sub object_MouseMove([index As Integer,]button As Integer,shift As Integer,x As Single,y As Single)
说明: 事件伴随鼠标指针在对象间移动时连续不断地产生.除非 说明:MouseMove事件伴随鼠标指针在对象间移动时连续不断地产生 除非 事件伴随鼠标指针在对象间移动时连续不断地产生
有另一个对象捕获了鼠标,否则 当鼠标位置在对象的边界范围内时该对象就能 有另一个对象捕获了鼠标 否则,当鼠标位置在对象的边界范围内时该对象就能 否则 接收MouseMove事件。 事件。 接收 事件
二、鼠标光标形状 1.MousePointer属性 . 属性
用来设置鼠标光标形状。 用来设置鼠标光标形状。
2.MouseIcon属性 . 属性
如果将MousePointer属性设置为 ,则可用该属 属性设置为99, 如果将 属性设置为 性定义用户自己的鼠标光标形状。 性定义用户自己的鼠标光标形状。
三、 拖放 1.与拖放有关的属性、方法和事件 与拖放有关的属性、 与拖放有关的属性
属性
(1)DragMode属性 ) 属性 该属性用来设置自动或人工(手动)拖放模式。在缺省情况下, 该属性用来设置自动或人工(手动)拖放模式。在缺省情况下,该 属性值为0(人工方式)。为了能对一个控件执行自动拖放操作, )。为了能对一个控件执行自动拖放操作 属性值为 (人工方式)。为了能对一个控件执行自动拖放操作,必须把 它的DragMode属性设置为 。 属性设置为1。 它的 属性设置为 注意, 的属性是一个标志, 注意,DragMode的属性是一个标志,不是逻辑值,不能把它设置为 的属性是一个标志 不是逻辑值, True(-1)。如果把一个对象的 )。如果把一个对象的 属性设置为1, ( )。如果把一个对象的DragMode属性设置为 ,则该对象不再 属性设置为 接收Click事件和 事件和MouseDown事件。 事件。 接收 事件和 事件 (2)DragIcon属性 ) 属性 在拖动一个对象的过程中,并不是对象本身在移动, 在拖动一个对象的过程中,并不是对象本身在移动,而是移动代表 对象的图标。也就是说,一旦要拖动一个控件, 对象的图标。也就是说,一旦要拖动一个控件,这个控件就变成一个图 等放下后再恢复成原来的控件。 标,等放下后再恢复成原来的控件。DragIcon属性含有一个图片或图标 属性含有一个图片或图标 的文件名,在拖动时作为控件的图标。 的文件名,在拖动时作为控件的图标。
三、 拖放 1.与拖放有关的属性、方法和事件 与拖放有关的属性、 与拖放有关的属性
方法
与拖放有关的方法有Move和Drag。其中 和 方法我们已比较熟悉。 与拖放有关的方法有 。其中Move方法我们已比较熟悉。 方法我们已比较熟悉 方法, (1)Drag方法,其格式为: ) 方法 其格式为: 控件. 控件.Drag 整数 不管控件的DragMode属性如何设置,都可以用 属性如何设置, 不管控件的 属性如何设置 都可以用Drag方法来人工地启 方法来人工地启 动或停止一个拖放过程。 整数”的取值为0、 或 ,其含义分别为: 动或停止一个拖放过程。“整数”的取值为 、1或2,其含义分别为: 0 取消指定控件的拖放 1 当Drag方法出现在控件的事件过程中时,允许拖放指定的控件 方法出现在控件的事件过程中时, 方法出现在控件的事件过程中时 2 结束控件的拖动,并发出一个 结束控件的拖动,并发出一个DragDrop事件 事件 (2)Move方法 ) 方法
三、 拖放 1.与拖放有关的属性、方法和事件 与拖放有关的属性、 与拖放有关的属性
事件
事件: (1)DragDrop事件:当把控件(图标)拖到目标对象之后, ) 事件 当把控件(图标)拖到目标对象之后, 如果松开鼠标按钮,则在目标对象上产生一个DragDrop事件。 事件。 如果松开鼠标按钮,则在目标对象上产生一个 事件 该事件的事件过程格式如下: 该事件的事件过程格式如下:
Sub对象名 对象名_DragDrop(Source As Control,X As Single,Y As Single) 对象名 ( , , )
……
End Sub
该事件过程含有三个参数。其中 是一个对象变量, 该事件过程含有三个参数。其中Source是一个对象变量, 是一个对象变量 其类型为Control,该参数含有被拖动对象的属性。参数 、y是 其类型为 ,该参数含有被拖动对象的属性。参数x、 是 松开鼠标按钮放下对象时鼠标指针的位置。 松开鼠标按钮放下对象时鼠标指针的位置。
三、 拖放 1.与拖放有关的属性、方法和事件 与拖放有关的属性、 与拖放有关的属性
事件
事件: (2)DragOver事件:用于鼠标的移动。当拖动对象越过一个 ) 事件 用于鼠标的移动。 控件时,会在该控件上产生DragOver事件。其事件过程如下: 事件。 控件时,会在该控件上产生 事件 其事件过程如下:
Sub对象名 对象名_DragOver(Source As Control,X As Single,Y As Single,State As Integer) 对象名 ( )
……
End Sub
该事件过程有4个参数,其中 参数的含义同前 该事件过程有 个参数,其中Source参数的含义同前 、y 个参数 参数的含义同前,x、 是拖动时鼠标指针的坐标位置。 参数是一个整数值 是拖动时鼠标指针的坐标位置。State参数是一个整数值,可以 参数是一个整数值, 取以下三个值: 取以下三个值: 0 鼠标指针正进入目标对象的区域 1 鼠标指针正退出目标对象的区域 2 鼠标指针正位于目标对象的区域之内
三、 拖放 2.自动拖放 自动拖放
3.手工拖放 手工拖放
拖放应用示例。 例: 拖放应用示例
拖放应用示例。 例: 拖放应用示例
四、键盘事件过程
键盘事件
KeyPress事件:用户按下并且释放 事件: 事件 一个会产生ASCII码的键时被触发。 码的键时被触发。 一个会产生 码的键时被触发 KeyDown事件:用户按下键盘上任 事件: 事件 意一个键时被触发。 意一个键时被触发。 KeyUp事件:用户释放键盘上任意一 事件: 事件 个键时被触发。 个键时被触发。
四、键盘事件过程 1、KeyPress事件过程 、 事件过程
Sub Form_KeyPress(KeyAscii As Integer) Sub object_KeyPress([index As Integer,]KeyAscii As Integer)
其中:参数KeyAscii为与按键相对应的 为与按键相对应的ASCII码值。 码值。 其中:参数 为与按键相对应的 码值 KeyPress事件过程接收到的是用户通过键盘输入 事件过程接收到的是用户通过键盘输入 事件过程 码字符。 的ASCII码字符。 码字符
四、键盘事件过程 2、KeyUp和KeyDown事件过程 、 和 事件过程
Sub Form_KeyDown(keycode As Integer, shift As Integer) Sub object_KeyDown([index As Integer,]keycode As Integer, shift As Integer) Sub Form_KeyUp(keycode As Integer, shift As Integer) Sub object_KeyUp([index As Integer,]keycode As Integer, shift As Integer)
参数说明: 参数说明:
1、Shift与鼠标事件过程 、 与鼠标事件过程Shift相同。 相同。 与鼠标事件过程 相同 2、KeyCode:用户所操作的那个键的扫描码,它告诉事件过程用户 、 :用户所操作的那个键的扫描码, 所操作的物理键。对于有上档字符和下档字符的键, 所操作的物理键。对于有上档字符和下档字符的键,其KeyCode也是 也是 相同的,为下档字符的ASCII码。 相同的,为下档字符的 码
区别
KeyPress 事件发生的时间 参数值 按Shift+A时 时 事件发生的次数 按Shift+A时参数值 时参数值 (键盘处于大写状态 键盘处于大写状态) 键盘处于大写状态 按Shift+A时参数值 时参数值 (键盘处于小写状态 键盘处于小写状态) 键盘处于小写状态 输入一个ASCII字符 输入一个 字符 KeyAscii接收到 接收到 字符的ASCII值 字符的 值 事件发生一次 97 65 KeyDown和KeyUp 和 按任意一个键 KeyCode接收到 接收到 键的扫描码 事件发生两次 第一次是17 第一次是 第二次是65 第二次是 第一次是17 第一次是 第二次是65 第二次是
窗体的KeyPreview为False 为 窗体的
相关文档
最新文档