vb键盘与鼠标事件过程(课堂PPT)
合集下载
Visual Basic程序设计电子课件——第5章 键盘与鼠标事件
Visual BASIC
第五章
键盘和鼠标事件
本章内容及要求:
(1) 鼠标的MouseDown, MouseMove, MouseUp事件 (2) 键盘的KeyDown, KeyPress, KeyUp 事件
程 序 设 计 重点:键盘与鼠标事件过程
1
事件驱动
窗口、事件和消息
事件驱动应用程序的工作方式
章 Sub Object _MouseUp(Button As Integer,Shift As Integer,_
X As Single,Y As Single)
其中:
1.Object是可选的一个对象表达式,可以是窗体对象和大 多数可视控件。
2.Button参数是表示按下或松开鼠标哪个按钮。
11
参数Button值
End Sub KeyPress 事件只识别 Enter、Tab和Backspace 键。不
能能够检测其它功能键、编辑键和定位键。
4
2. KeyDown 和 KeyUp 事件
当一个对象具有焦点时按下(KeyDown) 或松开 ( KeyUp ) 一个键时发生。它们报告键盘本身准确的物理 状态:按下键 (KeyDown) 及松开键 (KeyUp)。
第 对鼠标位置及状态的变化作出响应操作。 五 章 1. MouseMove 每当鼠标指针移动到屏幕新位置时发生
2. MouseDown 按下任意鼠标键按钮时发生
3. MouseUp
释放任意鼠标键按钮时发生
10
三、鼠标事件过程
MouseMove 、 MouseDown 、 MouseUp 三 个 事 件 的 过 程 的 语
6
vbCtrlMask+VBAltMask 按下/松开Ctrl+Alt组合键
第五章
键盘和鼠标事件
本章内容及要求:
(1) 鼠标的MouseDown, MouseMove, MouseUp事件 (2) 键盘的KeyDown, KeyPress, KeyUp 事件
程 序 设 计 重点:键盘与鼠标事件过程
1
事件驱动
窗口、事件和消息
事件驱动应用程序的工作方式
章 Sub Object _MouseUp(Button As Integer,Shift As Integer,_
X As Single,Y As Single)
其中:
1.Object是可选的一个对象表达式,可以是窗体对象和大 多数可视控件。
2.Button参数是表示按下或松开鼠标哪个按钮。
11
参数Button值
End Sub KeyPress 事件只识别 Enter、Tab和Backspace 键。不
能能够检测其它功能键、编辑键和定位键。
4
2. KeyDown 和 KeyUp 事件
当一个对象具有焦点时按下(KeyDown) 或松开 ( KeyUp ) 一个键时发生。它们报告键盘本身准确的物理 状态:按下键 (KeyDown) 及松开键 (KeyUp)。
第 对鼠标位置及状态的变化作出响应操作。 五 章 1. MouseMove 每当鼠标指针移动到屏幕新位置时发生
2. MouseDown 按下任意鼠标键按钮时发生
3. MouseUp
释放任意鼠标键按钮时发生
10
三、鼠标事件过程
MouseMove 、 MouseDown 、 MouseUp 三 个 事 件 的 过 程 的 语
6
vbCtrlMask+VBAltMask 按下/松开Ctrl+Alt组合键
键盘与鼠标事件ppt课件
第9章 键盘与鼠标事件
1
章节分布
1 键盘事件
2 鼠标事件
2
8.1 键盘事件
KeyPress事件过程 KeyDown事件过程
KeyUp事件过程
键盘事件
3
8.1.1 KeyPress事件过程
• 触发时刻:当按下键盘上某个键时,将触 发KeyPress;
• 服务对象:窗体、复选框、组合框、命令 按钮、列表框、
正确,在MouseMove中,可以对Button进行累加。
MouseMove:If (Button And 3)=3 Then “同时按下左、右两键”
正确,两种情况,同时按左右键或三个键都按下。
13
• 应用举例 • Example 8.4:编写程序,在窗体上画
圆,要求:按着右键移动鼠标,则可以画 圆;否则不能画圆。
Single)
Integer, x As Single, y As
…
{ EndBuStut,即1,按下鼠标左键 010,即2,按下鼠标右键 100,即4,按下鼠标中间键
• - x, y:鼠标光标当前的位置;
12
需要注意的是,在MouseDown和 MouseUp中,Button值不能进行求和,即 Button值只能是3个值中的某一个,它不能 M反ous映eD是ow否n:同If B时ut按ton下=3 了The鼠n “标同时上按的下多左、个右键两键;”对 于MouseMove来错误说,在,Mo可use以Dow通n中过,不B能u对ttBoutnto参n进行数累加。 M判ous断eM按ov下e:一If B个utt或on=同3 T时he按n “下同时多按个下左键、。右两键”
14
• 按下鼠标键事件过程
Sub Form_MouseDown (Button As Integer, Shift
1
章节分布
1 键盘事件
2 鼠标事件
2
8.1 键盘事件
KeyPress事件过程 KeyDown事件过程
KeyUp事件过程
键盘事件
3
8.1.1 KeyPress事件过程
• 触发时刻:当按下键盘上某个键时,将触 发KeyPress;
• 服务对象:窗体、复选框、组合框、命令 按钮、列表框、
正确,在MouseMove中,可以对Button进行累加。
MouseMove:If (Button And 3)=3 Then “同时按下左、右两键”
正确,两种情况,同时按左右键或三个键都按下。
13
• 应用举例 • Example 8.4:编写程序,在窗体上画
圆,要求:按着右键移动鼠标,则可以画 圆;否则不能画圆。
Single)
Integer, x As Single, y As
…
{ EndBuStut,即1,按下鼠标左键 010,即2,按下鼠标右键 100,即4,按下鼠标中间键
• - x, y:鼠标光标当前的位置;
12
需要注意的是,在MouseDown和 MouseUp中,Button值不能进行求和,即 Button值只能是3个值中的某一个,它不能 M反ous映eD是ow否n:同If B时ut按ton下=3 了The鼠n “标同时上按的下多左、个右键两键;”对 于MouseMove来错误说,在,Mo可use以Dow通n中过,不B能u对ttBoutnto参n进行数累加。 M判ous断eM按ov下e:一If B个utt或on=同3 T时he按n “下同时多按个下左键、。右两键”
14
• 按下鼠标键事件过程
Sub Form_MouseDown (Button As Integer, Shift
Visual Basic程序设计第11章 键盘与鼠标事件过程
Object 表示一个对象,即接收按键的对象;index用于控件 数组,用来唯一标识在控件数组中的一个控件(如果没有控 件数组则不出现该参数);KeyAscii返回按键对应的ASCII 码的整型数值。例如:按下回车键时,可获得该键的字符 ASCII码值为13。KeyAscii的值通过引用传递,对它进行改
分析:建立一个名字为Text1的文本框,接收来自键盘按键 信息,建立一个名字为Label1的标签,显示键盘输入的信 息,如果通过键盘方式输入F10,那么会在标签中显示,否 则不会显示出完整的组合键信息。
输入Shift+F10
输入Ctrl+F10
程序如下: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Dim Msg If Shift = vbCtrlMask Then Msg = Msg + "Ctrl+" End If If Shift = vbAltMask Then Msg = Msg & "Alt+" End If If Shift = vbShiftMask Then Msg = Msg & "Shift+" End If If KeyCode = vbKeyF10 Then Msg = Msg & "F10" End If Label1.Caption = Msg End Sub
11.2 鼠标事件
鼠标事件是由鼠标动作而引起的,三个基本的鼠 标事件的触发情况为:
MouseDown事件:按下鼠标按钮时触发。 MouseUp事件:释放鼠标时触发。 MouseMove事件:移动鼠标光标时触发。
《Visual Basic程序设计》教学课件 第7章鼠标与键盘事件
7.3 键盘事件
例7-3
Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) If KeyCode=vbKeyUp Then MsgBox"您按了上键!" ElseIf KeyCode=vbKeyDown Then MsgBox"您按了下键!" ElseIf KeyCode=vbKeyLeft Then MsgBox"您按了左键!" ElseIf KeyCode=vbKeyRight Then MsgBox"您按了右键!" End If
鼠标与键ቤተ መጻሕፍቲ ባይዱ事件
7.1 Visual Basic事件概述. 7.2 鼠标事件.
7.3 键盘事件.
7.1 Visual Basic事件概述
Windows程序设计围绕事件或消息产生驱动运行处理函 数(过程)。所谓消息是指描述事件发生的信息。例如,按 下鼠标键时,系统会生产一条特定的消息标识鼠标按键事件 的发生。Windows程序的执行顺序取决于事件发生的顺序,程 序的执行顺序是由顺序产生的消息驱动的,但是消息的产生 往往并不要求有次序之分。程序员可以针对消息类型编写程 序以处理接收的消息或发出其他消息以驱动其他程序,而不
7.2 鼠标事件
7.2.1 Click和DblClick事件
通常用户单击某控件时引发Click事件,双击时引发Dbl Click事件,这些事件在很多控件的操作中都能触发,如改 变复选框的状态、改变单选按钮组的选项,以及对列表框和 组合框控件的操作也会自动发送Click事件。Click和DblCli ck事件并不向程序传递参数,因此不能由这些事件指出光标 在什么位置。Click事件和DblClick事件的语法格式如下。
VB课件-第17讲 菜单鼠标键盘
3
二、鼠标
注意:鼠标事件可发生在窗体或控件上 MouseDown 事件:按下某一鼠标键 Form1_MouseDown(……, e As ……)…… MouseUp:释放某一鼠标键 MouseMove:移动鼠标
4
对象 e
• e.Button
左键 MouseButtons.Left 右键 MouseButtons.Right 中键 MouseButtons.Middle 没按键 MouseButtons.None
第一次是Shift 第二次是 A
9
【例】鼠标在窗体上任意位置单击左键或右键,显示 按的哪个键及其所在位置,按下 Alt + e 组合键终 止程序
10
内容小结
• 菜单的类型 • 鼠标、键盘事件类型 • 参数e的意义
11
2)按下 F3 和 Alt 输出结果
8
区别
KeyPress
KeyDபைடு நூலகம்wn和KeyUp
参数值
按Shift+A时 事件发生的次数
e.KeyChar对应的 ASCII码
事件发生一次
按Shift+A时参数
a
按Shift+a时参数
A
e.KeyCode接收 键盘扫描码
事件发生两次
第一次是Shift 第二次是 A
编程小贴士
1. 设置属性确定事件; 2. 构思算法草拟代码; 3. 多写注释调整思路; 4. 全面检查就这一招!
编程思路:“初始化->输入->处理->输出”
P.165
一、菜单
菜单的组成:
菜单标题
菜单项 分隔线 快捷键
2
【例7.5】下拉菜单设计 MenuStrip
二、鼠标
注意:鼠标事件可发生在窗体或控件上 MouseDown 事件:按下某一鼠标键 Form1_MouseDown(……, e As ……)…… MouseUp:释放某一鼠标键 MouseMove:移动鼠标
4
对象 e
• e.Button
左键 MouseButtons.Left 右键 MouseButtons.Right 中键 MouseButtons.Middle 没按键 MouseButtons.None
第一次是Shift 第二次是 A
9
【例】鼠标在窗体上任意位置单击左键或右键,显示 按的哪个键及其所在位置,按下 Alt + e 组合键终 止程序
10
内容小结
• 菜单的类型 • 鼠标、键盘事件类型 • 参数e的意义
11
2)按下 F3 和 Alt 输出结果
8
区别
KeyPress
KeyDபைடு நூலகம்wn和KeyUp
参数值
按Shift+A时 事件发生的次数
e.KeyChar对应的 ASCII码
事件发生一次
按Shift+A时参数
a
按Shift+a时参数
A
e.KeyCode接收 键盘扫描码
事件发生两次
第一次是Shift 第二次是 A
编程小贴士
1. 设置属性确定事件; 2. 构思算法草拟代码; 3. 多写注释调整思路; 4. 全面检查就这一招!
编程思路:“初始化->输入->处理->输出”
P.165
一、菜单
菜单的组成:
菜单标题
菜单项 分隔线 快捷键
2
【例7.5】下拉菜单设计 MenuStrip
chapter5 键盘鼠标事件和数据的输入输出PPT课件
9
第五章
5.2 鼠标事件
大多数控件能够识别鼠标的MouseMove、MouseDown
和MouseUp事件,通过响应这些鼠标事件,能在应用程序
对鼠标位置及状态的变化作出响应操作。
1. MouseMove 每当鼠标指针移动到屏幕新位置时发生
2. MouseDown 按下任意鼠标键按钮时发生
3. MouseUp
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)
3.通过Shift参数表示在Button参数指定的按钮被按下或 者被松开的情况下键盘的Shift、Ctrl和Alt键的状态。
参数Shift值
参数(Shift)
值
描述
vbShiftMask
1 SHIFT 键被按下
vbCtrlMask
ቤተ መጻሕፍቲ ባይዱ2 CTRL 键被按下
vbAltMask
4 ALT 键被按下
12
第五章
其中: 1.Object是可选的一个对象表达式,可以是窗体对象和大 多数可视控件。 2.Button参数是表示按下或松开鼠标哪个按钮。
11
第五章
参数Button值
参数(Button) 值 说明
vbLeftButton
1 左按钮被按下
vbRightButton
2 右按钮被按下
vbMiddleButton 4 中间按钮被按下
Line -(X, Y) '移动鼠标时,会在窗体中的上次位置与当前鼠标指针之 间画线 End Sub
第五章
5.2 鼠标事件
大多数控件能够识别鼠标的MouseMove、MouseDown
和MouseUp事件,通过响应这些鼠标事件,能在应用程序
对鼠标位置及状态的变化作出响应操作。
1. MouseMove 每当鼠标指针移动到屏幕新位置时发生
2. MouseDown 按下任意鼠标键按钮时发生
3. MouseUp
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)
3.通过Shift参数表示在Button参数指定的按钮被按下或 者被松开的情况下键盘的Shift、Ctrl和Alt键的状态。
参数Shift值
参数(Shift)
值
描述
vbShiftMask
1 SHIFT 键被按下
vbCtrlMask
ቤተ መጻሕፍቲ ባይዱ2 CTRL 键被按下
vbAltMask
4 ALT 键被按下
12
第五章
其中: 1.Object是可选的一个对象表达式,可以是窗体对象和大 多数可视控件。 2.Button参数是表示按下或松开鼠标哪个按钮。
11
第五章
参数Button值
参数(Button) 值 说明
vbLeftButton
1 左按钮被按下
vbRightButton
2 右按钮被按下
vbMiddleButton 4 中间按钮被按下
Line -(X, Y) '移动鼠标时,会在窗体中的上次位置与当前鼠标指针之 间画线 End Sub
vb 键盘与鼠标事件过程
拖放有关的事件
与拖放有关的事件是dragdrop和dragover Dragdrop事件 事件:把控件拖到目标后放开鼠标产生一个dragdrop事件。 事件 该事件过程如下: Sub 对象名_dragdrop(source,y as single) …… end sub 参数解析: Source:是一个对象变量,类型为control,该参数含有被拖动对象的属性 X,Y:松开鼠标放下对象时鼠标光标的位置 Dragover事件 事件:用于图标的移动。拖动对象越过一个控件时产生一个dragover 事件 事件,该事件过程格式如下: Sub 对象名_dragover(source as control,x as single,y as single,state as integer) …… end sub
鼠标事件
鼠标键 鼠标键状态参数button设定,该参数是一个整数(16位),见下表
Button参数二进制值 Button参数十进制值 参数二进制值 参数十进制值
000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 未按任何键
作用
左键被按下(默认) 右键被按下 左右键同时被按下 中间键被按下 按下中间与左键 按下中间与右键 3个键同时被按下
第十章 键盘与鼠标事件过程
Keypress事件
当一个控件或窗体拥有输入焦点时,该控件或窗体从键盘 上接受输入的信息。Keypress事件的一般格式: private sub 控件名_keypress(keyascii as integer) …… end sub 该事件有一个参数,这个参数有两种形式: 第一种形式是index as integer,只用于控件数组; 第二种形式是keyascii as integer ,用于单个控件,用来 识别按键的ascii码。 利用keypress事件可以对输入的值进行限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Label1(2).Caption = "你刚才按了功能键:" & "F" & Str(KeyCode - 111) Label1(2).Visible = True Else Label1(2).Visible = False End If Check1.Value = IIf((Shift And vbShiftMask) > 0, 1, 0) Check2.Value = IIf((Shift And vbCtrlMask) > 0, 1, 0) Check3.Value = IIf((Shift And vbAltMask) > 0, 1, 0) End Sub
应 当 使 用 KeyDown 和 KeyUp 事 件 过 程 来 处 理 任 何 不 被 KeyPress识别的击键,诸如:功能键、编辑键、定位键以 及 任 何 这 些 键 和 键 盘 换 档 键 的 组 合 等 。 与 KeyDown 和 KeyUp事件不同的是,KeyPress不显示键盘的物理状态, 而只是传递一个字符。
11.1.2 KeyDown和KeyUp事件
KeyDown和KeyUp事件是当一个对象具有焦点时按下或 松开一个键时发生的。当控制焦点位于某对象上时,按下 键盘中的任意一键,则会在该对象上触发产生KeyDown事 件 , 当 释 放 该 键 时 , 将 触 发 产 生 KeyUp 事 件 , 之 后 产 生 Ke1-2】可以测试功能键与控制键的程序(如图11-2)。
程序的代码部分:
文本(输入)框Text1的Keydown事件代码:
Private Sub Text1_Keydown(KeyCode As Integer, Shift As Integer) Text2.Text = Text2.Text & Str(KeyCode) & "," If KeyCode > 111 And KeyCode < 124 Then
【例11-1】可以显示按键及其ASCII码的程序(如图11-1)。
图11-1 KeyPress事件接受的按键
程序的代码部分: 复选框的Click事件代码:
Private Sub Check1_Click() Text1.SetFocus End Sub
文本(输入)框Text1的KeyPress事件代码:
Private Sub Text1_KeyPress(KeyAscii As Integer) Text2.Text = KeyAscii Select Case KeyAscii
Case 0 To 7, 9 To 12, 14 To 26, 28 To 31 Text1.Text = "" Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) Case 8 Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) & " 或 退格键" Case 13 Text1.Text = "" Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) & " 或 回车键" Case 27 Text1.Text = "" Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) & " 或 Esc键" Case Else Text3.Text = Chr(KeyAscii) End Select If Check1.Value = 0 Then KeyAscii = 0 End If End Sub
其中参数keyascii是被按下字符键的标准ASCII码。对它 进行改变可给对象发送一个不同的字符。将keyascii改变为 0时可取消击键,这样一来对象便接收不到字符。
KeyPress事件可以引用任何可打印的键盘字符、来自标 准字母表的字符或少数几个特殊字符之一的字符与〈Ctrl〉 键的组合、〈Enter〉或〈Backspace〉键。
11.1.1 KeyPress事件
KeyPress事件当用户按下和松开一个ASCII字符键时发 生。该事件被触发时,被按键的ASCII码将自动传递给事 件过程的KeyAscii参数。在程序中,通过访问该参数,即 可获知用户按下了哪一个键,并可识别字母的大小写。其 语法格式为:
Private Sub 对象名_KeyPress(keyascii As Integer)
第11章 键盘与鼠标事件过程
1
第11章 键盘与鼠标事件过程
除了响应鼠标的单击(Click)或双击(DblClick)事件 以外,Visual Basic应用程序还能响应多种鼠标事件和键盘 事件。例如,窗体、图片框与图象控件都能检测鼠标指针 的位置,并可判定其左、右键是否已按下,还能响应鼠标 按钮与Shift、Ctrl或Alt键的各种组合。利用键盘事件可以 编程响应多种键盘操作,也可以解释、处理ASCII字符。
11.1.2 KeyDown和KeyUp事件
shift 参 数 项 返 回 一 个 整 数 , 该 整 数 相 应 于 〈Shift〉 、 〈Ctrl〉和〈Alt〉键的状态。shift参数等于1、2和4分别表 示〈Shift〉、〈Ctrl〉和〈Alt〉键被按下,而三数的部分 和表示三个按钮部分地被同时按下。因此,可结合该参数 项来判断输入字母的大小写。
Private Sub 对象名_KeyDown(KeyCode As Integer, Shift As Integer) Private Sub 对象名_KeyUp(KeyCode As Integer, Shift As Integer)
其中参数KeyCode参数项用于返回被按键的扫描代码。 由于扫描码主要反映物理键位,因此通过该参数不能区分 字母大小写。
❖11.1 键盘事件
键 盘 事 件 是 指 能 够 响 应 各 种 按 键 操 作 的 KeyDown 、 KeyUp及KeyPress事件,可以把编写响应击键事件的应用 程序看作是编写键盘处理器。键盘处理器可在控件级和窗 体级这两个层次上工作。有了控件级(低级)处理器就可 对特定控件编程。例如,可能希望将Textbox这个控件中的 输入文本都转换成大写字符。而有了窗体级处理器就可使 窗体首先响应击键事件,于是就可将焦点转换成窗体的控 件并重复或启动事件。
应 当 使 用 KeyDown 和 KeyUp 事 件 过 程 来 处 理 任 何 不 被 KeyPress识别的击键,诸如:功能键、编辑键、定位键以 及 任 何 这 些 键 和 键 盘 换 档 键 的 组 合 等 。 与 KeyDown 和 KeyUp事件不同的是,KeyPress不显示键盘的物理状态, 而只是传递一个字符。
11.1.2 KeyDown和KeyUp事件
KeyDown和KeyUp事件是当一个对象具有焦点时按下或 松开一个键时发生的。当控制焦点位于某对象上时,按下 键盘中的任意一键,则会在该对象上触发产生KeyDown事 件 , 当 释 放 该 键 时 , 将 触 发 产 生 KeyUp 事 件 , 之 后 产 生 Ke1-2】可以测试功能键与控制键的程序(如图11-2)。
程序的代码部分:
文本(输入)框Text1的Keydown事件代码:
Private Sub Text1_Keydown(KeyCode As Integer, Shift As Integer) Text2.Text = Text2.Text & Str(KeyCode) & "," If KeyCode > 111 And KeyCode < 124 Then
【例11-1】可以显示按键及其ASCII码的程序(如图11-1)。
图11-1 KeyPress事件接受的按键
程序的代码部分: 复选框的Click事件代码:
Private Sub Check1_Click() Text1.SetFocus End Sub
文本(输入)框Text1的KeyPress事件代码:
Private Sub Text1_KeyPress(KeyAscii As Integer) Text2.Text = KeyAscii Select Case KeyAscii
Case 0 To 7, 9 To 12, 14 To 26, 28 To 31 Text1.Text = "" Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) Case 8 Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) & " 或 退格键" Case 13 Text1.Text = "" Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) & " 或 回车键" Case 27 Text1.Text = "" Text3.Text = "Ctrl+" & Chr(64 + KeyAscii) & " 或 Esc键" Case Else Text3.Text = Chr(KeyAscii) End Select If Check1.Value = 0 Then KeyAscii = 0 End If End Sub
其中参数keyascii是被按下字符键的标准ASCII码。对它 进行改变可给对象发送一个不同的字符。将keyascii改变为 0时可取消击键,这样一来对象便接收不到字符。
KeyPress事件可以引用任何可打印的键盘字符、来自标 准字母表的字符或少数几个特殊字符之一的字符与〈Ctrl〉 键的组合、〈Enter〉或〈Backspace〉键。
11.1.1 KeyPress事件
KeyPress事件当用户按下和松开一个ASCII字符键时发 生。该事件被触发时,被按键的ASCII码将自动传递给事 件过程的KeyAscii参数。在程序中,通过访问该参数,即 可获知用户按下了哪一个键,并可识别字母的大小写。其 语法格式为:
Private Sub 对象名_KeyPress(keyascii As Integer)
第11章 键盘与鼠标事件过程
1
第11章 键盘与鼠标事件过程
除了响应鼠标的单击(Click)或双击(DblClick)事件 以外,Visual Basic应用程序还能响应多种鼠标事件和键盘 事件。例如,窗体、图片框与图象控件都能检测鼠标指针 的位置,并可判定其左、右键是否已按下,还能响应鼠标 按钮与Shift、Ctrl或Alt键的各种组合。利用键盘事件可以 编程响应多种键盘操作,也可以解释、处理ASCII字符。
11.1.2 KeyDown和KeyUp事件
shift 参 数 项 返 回 一 个 整 数 , 该 整 数 相 应 于 〈Shift〉 、 〈Ctrl〉和〈Alt〉键的状态。shift参数等于1、2和4分别表 示〈Shift〉、〈Ctrl〉和〈Alt〉键被按下,而三数的部分 和表示三个按钮部分地被同时按下。因此,可结合该参数 项来判断输入字母的大小写。
Private Sub 对象名_KeyDown(KeyCode As Integer, Shift As Integer) Private Sub 对象名_KeyUp(KeyCode As Integer, Shift As Integer)
其中参数KeyCode参数项用于返回被按键的扫描代码。 由于扫描码主要反映物理键位,因此通过该参数不能区分 字母大小写。
❖11.1 键盘事件
键 盘 事 件 是 指 能 够 响 应 各 种 按 键 操 作 的 KeyDown 、 KeyUp及KeyPress事件,可以把编写响应击键事件的应用 程序看作是编写键盘处理器。键盘处理器可在控件级和窗 体级这两个层次上工作。有了控件级(低级)处理器就可 对特定控件编程。例如,可能希望将Textbox这个控件中的 输入文本都转换成大写字符。而有了窗体级处理器就可使 窗体首先响应击键事件,于是就可将焦点转换成窗体的控 件并重复或启动事件。