Visual Basic程序设计电子课件——第5章 键盘与鼠标事件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 对鼠标位置及状态的变化作出响应操作。 五 章 1. MouseMove 每当鼠标指针移动到屏幕新位置时发生
2. MouseDown 按下任意鼠标键按钮时发生
3. MouseUp
释放任意鼠标键按钮时发生
10
三、鼠标事件过程
MouseMove 、 MouseDown 、 MouseUp 三 个 事 件 的 过 程 的 语
第 间拖放数据。 五 章
18
拖 放 例 子(按钮) 添加一命令按钮并设置其DragMode属性为1
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) Source.Move X, Y
第 End Sub 五 章 Private Sub Form_DragOver(Source As Control, X As Single, Y As Single,
KeyPress 按下对应某ASCII 字符的键。
第 五
KeyDown 按下键盘的任意键。

KeyULeabharlann Baidu 释放键盘的任意键只有获得焦点的对象才能
够接受键盘事件。
1. KeyPress 事件 在按下与ASCII字符对应的键时将触发KeyPress 事件。
3
KeyPress 事件过程的语法格式是: Sub Object_KeyPress (KeyAscii As Integer) 其中:
五 4. 掌握键盘的KeyDown, KeyPress, KeyUp 事件中各参数

的含义及编程控制
20
参数(Button) 值 说明
vbLeftButton
1 左按钮被按下
vbRightButton
2 右按钮被按下
vbMiddleButton 4 中间按钮被按下
第 五
3.通过Shift参数表示在Button参数指定的按钮被按下或 者被松开的情况下键盘的Shift、Ctrl和Alt键的状态。

参数Shift值
第 五 章 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single) Line -(X, Y) '移动鼠标时,会在窗体中的上次位置与当前鼠标指针之间画线 End Sub
16
四、拖 放
法格式如下:
Sub Object_MouseMove(Button As Integer,Shift As Integer,_
X As Single,Y As Single)
第 Sub Object _MouseDown(Button As Integer,Shift As Integer,_

X As Single,Y As Single)
Visual BASIC
第五章
键盘和鼠标事件
本章内容及要求:
(1) 鼠标的MouseDown, MouseMove, MouseUp事件 (2) 键盘的KeyDown, KeyPress, KeyUp 事件
程 序 设 计 重点:键盘与鼠标事件过程
1
事件驱动
窗口、事件和消息
事件驱动应用程序的工作方式
Print "程序设计"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As
第 五
Integer) Print "Visual Basic";
章 End Sub
大家想想,执行上述程序,会出现什么?
13
Ctrl、Shift、Alt三键组合使用情况如下表:
在运行时拖动控件,通常情况下并不能自动改变控件位 置,这就必须使用Visual Basic的拖放功能,通过编程,才 能实现在运行时拖动控件并改变其位置。把按下鼠标按钮并 移动控件的操作称为拖动,把释放按钮的操作称为放下。
第 五 章
拖放属性、事件和方法
17
OLE 拖放
Visual Basic支持OLE 拖放,使用这种强大且实用的 工 具 , 可 以 在 其 他 支 持 OLE 拖 放 的 应 用 程 序 ( 如 Windows 资源管理器、Word 和 Excel等等)之间、控件之
State As Integer) Form1.Caption = X & "," & Y
19
本章小结:
1. 掌握inputbox、msgbox、print等输入输出函数 2. 理解鼠标、键盘事件的触发机制, 3. 掌握鼠标的MouseDown, MouseMove, MouseUp事件

中各参数的含义及编程控制
6
vbCtrlMask+VBAltMask 按下/松开Ctrl+Alt组合键
7
vbCtrlMask+VBShiftMa 按下/松开Ctrl+Shift+Alt组合
sk+VBAltMask

8
Private Sub Form_Load() Show Text1.Text = "" Text1.SetFocus End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Print Chr(KeyCode)
6
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyA And Shift = 1 Then MsgBox "你按下了大写字母A!"
End If
第 End Sub 五 Private Sub Text1_KeyUp(KeyCode As Integer, Shift As 章 Integer)
参数(Shift)

描述
vbShiftMask
1 SHIFT 键被按下
vbCtrlMask
2 CTRL 键被按下
vbAltMask
4 ALT 键被按下
12
Private Sub Form_MouseUp(Button As Integer,
Shift As Integer, X As Single, Y As Single)
第 五
1

2
vbShiftMask vbCtrlMask
按下/松开Shift键 按下/松开Ctrl键
3
vbCtrlMask+vbShiftMas k
按下/松开Ctrl+Shift组合键
4
vbAltMask
按下/松开Alt键
5
vbAltMask+VBShiftMas k
按下/松开Alt+Shift组合键
第 End Sub 五 Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) 章 Print Chr(KeyCode + 2)
End Sub
9
二、 鼠标事件
大多数控件能够识别鼠标的MouseMove、MouseDow
和MouseUp事件,通过响应这些鼠标事件,能在应用程序
End Sub KeyPress 事件只识别 Enter、Tab和Backspace 键。不
能能够检测其它功能键、编辑键和定位键。
4
2. KeyDown 和 KeyUp 事件
当一个对象具有焦点时按下(KeyDown) 或松开 ( KeyUp ) 一个键时发生。它们报告键盘本身准确的物理 状态:按下键 (KeyDown) 及松开键 (KeyUp)。
If Shift = 4 Then MsgBox "你松开了Alt键!"
End If End Sub
7
(2).shift参数
shift 表示是在该事件发生时响应SHIFT、CTRL 和 ALT 键 的状态,它是一个整数。
Shift的十进制值
Visual Basic常数
含义
0
(空)
按下/松开的单键,非组合键
第 五 章
14
4. 参数X、Y
X, Y鼠标指针的位置,通过X和Y参数返回一个指定鼠 标指针当前位置的数,X和Y的值是使用该对象的坐标系统 表示鼠标指针当前位置。
注意:


鼠标事件被用来识别和响应各种鼠标状态,并把这
章 些状态看作独立的事件,在按下鼠标按钮并释放时,
Click 事件只能把此过程识别为一个单一的单击操作。鼠
Object是指窗体或控件对象名,KeyAscii 参数返回对应
第 于ASCII字符代码的整型数值。 五 例如,如果希望将文本框中的所有字符都强制转换为大写字 章 符,则可在输入时使用此事件转换大小写:
Private Sub Text1_KeyPress (KeyAscii As Integer)
KeyAscii = Asc(Ucase(Chr(KeyAscii)))
启动应用程序,装载和显示窗体。

窗体(或控件)接收事件。

用户引发(如键盘操作)

系统引发(如定时器事件)
代码间接引发
在引发的事件过程中有代码,执行代码。
应用程序等待下一次事件。
2
一、 键盘事件
在 Visual Basic 中 , 提 供 KeyPress 、 KeyDown 、 KeyUp三种键盘事件,窗体和接受键盘输入的控件都识别 这三种事件。
标 事 件 能 够 区 分 各 鼠 标 按 钮 及 键 盘 的 SHIFT 、 CTRL 、
ALT 键的状态。
例 使用MouseUp 与 MouseDown 和MouseMove 事件,编 写一个在窗体上用鼠标绘图的简单程序。
15
鼠标指针的形状
通过修改MousePointer属性可以改变鼠标指针的形状 Visual Basic提供了16个可选的指针形状 每种指针都对应着一个整型数和Visual Basic常数 Mouse Pointer的属性见实验5表5-3所示
KeyDown和KeyUp事件能够检测其它功能键、编辑键和定
第 位键。 五 章 KeyUp 和 KeyDown 事件过程的语法格式如下:
Sub Object_KeyDown(KeyCode As Integer, Shift As Integer)
Sub Object_KeyUp(KeyCode As Integer, Shift As Integer)
章 Sub Object _MouseUp(Button As Integer,Shift As Integer,_
X As Single,Y As Single)
其中:
1.Object是可选的一个对象表达式,可以是窗体对象和大 多数可视控件。
2.Button参数是表示按下或松开鼠标哪个按钮。
11
参数Button值
说明: (1).Keycode 参数表示按下的物理键。上档键字符和下 档键字符也是使用同一键,它们的Keycode值相同。
5
Keycode与KeyAscii的值
第 五 章
keycode 参数通过 ASCII 值或键代码常数来识别键。字母键 的键代码与此字母的大写字符的 ASCII 值相同。所以 "A" 和 "a" 的 keycode 都是由 Asc("A") 返回的数值。在下例中 用 KeyDown 事件判断是否按下了 "A" 键:
相关文档
最新文档