第9章 键盘与鼠标事件ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
… End Sub
其中,参数的含义同KeyDown事件过程。 • 应用举例
Example 8.3:演示KeyUp事件过程。
.
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode Case &H70 Print “松开F1键” Case &H71 Print “松开F2键” Case &H72 Print “松开F3键”
100,即4,按下Alt键
当然,Shift值可以由以上3种值组合而成,表示同时 按下多个键,例如,如同时按下ctrl和shift键,则 Shift=1+2,即3。 • 应用举例
Example 8.2:编写一个程序,当同时按下Alt、Shift 和F6键时,在窗体上显示“再见”,并终止程序的运行。
.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
… End Sub
• 松开鼠标键事件过程
Sub Form_MouseUp (Button As Integer, shift As Integer, x As Single, y As Single)
… End Sub
.
• 移动鼠标键事件过程
Sub Form_MouseMove (Button As Integer, Shift As
.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii Case 65, 66, 68 KeyAswenku.baidu.comii = KeyAscii + 4 Case 67 KeyAscii = KeyAscii + 1
End Select
第9章 键盘与鼠标事件
章节分布
1 键盘事件
2 鼠标事件
.
8.1 键盘事件
KeyPress事件过程 KeyDown事件过程
KeyUp事件过程
键盘事件
.
8.1.1 KeyPress事件过程
• 触发时刻:当按下键盘上某个键时,将触发KeyPress;
• 服务对象:窗体、复选框、组合框、命令按钮、列表框、
If KeyCode = &H75 And Shift = 5 Then Print "再见" End
End If End Sub
.
8.1.3 KeyUp事件过程
• 触发时刻:当松开键盘上的某个键时,触发KeyUp; • 语句格式:
Private Sub Text1_KeyUp (KeyCode As Integer, Shift As Integer)
.
• 应用举例 Example 8.4:编写程序,在窗体上画圆,要求:按
着右键移动鼠标,则可以画圆;否则不能画圆。
.
图片框、文本框、滚动条以及与文件有关的
控件。
• 语句格式:
Private Sub Text1_KeyPress ( KeyAscii As Integer)
…
End Sub
• 应用举例
按键的ASCII码值
Example 8.1:在窗体上画一个文本框,然后编写程 序。程序运行后,如果按下键盘上的A、B、C、D键,则在 文本框中显示E、F、D、H。
100,即4,按下鼠标中间键
.
需要注意的是,在MouseDown和MouseUp中, Button值不能进行求和,即Button值只能是3个值中的某 一个,它不能反映是否同时按下了鼠标上的多个键;对于 MouseMove来说,可以通过Button参数判断按下一个 或同时按下多个键。
MouseDown:If Button=3 Then “同时按下左、右两键”
错误,在MouseDown中,不能对Button进行累加。
MouseMove:If Button=3 Then “同时按下左、右两键”
正确,在MouseMove中,可以对Button进行累加。
MouseMove:If (Button And 3)=3 Then “同时按下左、右两键”
正确,两种情况,同时按左右键或三个键都按下。
End Select
End Sub
.
8.2 鼠标事件过程
在以前的例子中曾多次使用鼠标事件,即单击(Click) 事件,实际上,除了常用的Click事件过程外,Visual Basic还提供了以下3个鼠标事件过程: • 按下鼠标键事件过程
Sub Form_MouseDown (Button As Integer, Shift As Integer, x As Single, y As Single)
… End Sub
• 参数说明: - KeyCode:按键的键位值。例如,当按下“a”时, KeyAscii值为97,KeyCode值为65。 - Shift:Shift表示3个转换键的状态,这3个键是Ctrl、
.
Alt以及Shift键,它们分别用3位二进制数表示,即如下所
示:
{ Shift =
001,即1,按下Shift键 010,即2,按下Ctrl键
End Sub
.
8.1.2 KeyDown事件过程
• 触发时刻:按下键盘上的某个键时,触发KeyDown。与 KeyPress不同,KeyDown将返回的是键盘的直接状态。 • 语句格式:
Private Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer)
Integer, x As Single, y As Single)
…
End Sub
• 参数说明:
- x, y:鼠标光标当前的位置;
- Shift:同键盘事件过程中的Shift参数含义;
- Button:被按下的鼠标键,含义如下:
{ Button =
001,即1,按下鼠标左键 010,即2,按下鼠标右键
其中,参数的含义同KeyDown事件过程。 • 应用举例
Example 8.3:演示KeyUp事件过程。
.
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode Case &H70 Print “松开F1键” Case &H71 Print “松开F2键” Case &H72 Print “松开F3键”
100,即4,按下Alt键
当然,Shift值可以由以上3种值组合而成,表示同时 按下多个键,例如,如同时按下ctrl和shift键,则 Shift=1+2,即3。 • 应用举例
Example 8.2:编写一个程序,当同时按下Alt、Shift 和F6键时,在窗体上显示“再见”,并终止程序的运行。
.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
… End Sub
• 松开鼠标键事件过程
Sub Form_MouseUp (Button As Integer, shift As Integer, x As Single, y As Single)
… End Sub
.
• 移动鼠标键事件过程
Sub Form_MouseMove (Button As Integer, Shift As
.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii Case 65, 66, 68 KeyAswenku.baidu.comii = KeyAscii + 4 Case 67 KeyAscii = KeyAscii + 1
End Select
第9章 键盘与鼠标事件
章节分布
1 键盘事件
2 鼠标事件
.
8.1 键盘事件
KeyPress事件过程 KeyDown事件过程
KeyUp事件过程
键盘事件
.
8.1.1 KeyPress事件过程
• 触发时刻:当按下键盘上某个键时,将触发KeyPress;
• 服务对象:窗体、复选框、组合框、命令按钮、列表框、
If KeyCode = &H75 And Shift = 5 Then Print "再见" End
End If End Sub
.
8.1.3 KeyUp事件过程
• 触发时刻:当松开键盘上的某个键时,触发KeyUp; • 语句格式:
Private Sub Text1_KeyUp (KeyCode As Integer, Shift As Integer)
.
• 应用举例 Example 8.4:编写程序,在窗体上画圆,要求:按
着右键移动鼠标,则可以画圆;否则不能画圆。
.
图片框、文本框、滚动条以及与文件有关的
控件。
• 语句格式:
Private Sub Text1_KeyPress ( KeyAscii As Integer)
…
End Sub
• 应用举例
按键的ASCII码值
Example 8.1:在窗体上画一个文本框,然后编写程 序。程序运行后,如果按下键盘上的A、B、C、D键,则在 文本框中显示E、F、D、H。
100,即4,按下鼠标中间键
.
需要注意的是,在MouseDown和MouseUp中, Button值不能进行求和,即Button值只能是3个值中的某 一个,它不能反映是否同时按下了鼠标上的多个键;对于 MouseMove来说,可以通过Button参数判断按下一个 或同时按下多个键。
MouseDown:If Button=3 Then “同时按下左、右两键”
错误,在MouseDown中,不能对Button进行累加。
MouseMove:If Button=3 Then “同时按下左、右两键”
正确,在MouseMove中,可以对Button进行累加。
MouseMove:If (Button And 3)=3 Then “同时按下左、右两键”
正确,两种情况,同时按左右键或三个键都按下。
End Select
End Sub
.
8.2 鼠标事件过程
在以前的例子中曾多次使用鼠标事件,即单击(Click) 事件,实际上,除了常用的Click事件过程外,Visual Basic还提供了以下3个鼠标事件过程: • 按下鼠标键事件过程
Sub Form_MouseDown (Button As Integer, Shift As Integer, x As Single, y As Single)
… End Sub
• 参数说明: - KeyCode:按键的键位值。例如,当按下“a”时, KeyAscii值为97,KeyCode值为65。 - Shift:Shift表示3个转换键的状态,这3个键是Ctrl、
.
Alt以及Shift键,它们分别用3位二进制数表示,即如下所
示:
{ Shift =
001,即1,按下Shift键 010,即2,按下Ctrl键
End Sub
.
8.1.2 KeyDown事件过程
• 触发时刻:按下键盘上的某个键时,触发KeyDown。与 KeyPress不同,KeyDown将返回的是键盘的直接状态。 • 语句格式:
Private Sub Text1_KeyDown (KeyCode As Integer, Shift As Integer)
Integer, x As Single, y As Single)
…
End Sub
• 参数说明:
- x, y:鼠标光标当前的位置;
- Shift:同键盘事件过程中的Shift参数含义;
- Button:被按下的鼠标键,含义如下:
{ Button =
001,即1,按下鼠标左键 010,即2,按下鼠标右键