vb键盘与鼠标事情过程.ppt
《vb键盘与鼠标事情过程.ppt》由会员分享,可在线阅读,更多相关《vb键盘与鼠标事情过程.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第11章 键盘与鼠标事件过程,第11章 键盘与鼠标事件过程,除了响应鼠标的单击(Click)或双击(DblClick)事件以外,Visual Basic应用程序还能响应多种鼠标事件和键盘事件。例如,窗体、图片框与图象控件都能检测鼠标指针的位置,并可判定其左、右键是否已按下,还能响应鼠标按钮与Shift、Ctrl或Alt键的各种组合。利用键盘事件可以编程响应多种键盘操作,也可以解释、处理ASCII字符。,11.1 键盘事件 键盘事件是指能够响应各种按键操作的KeyDown、KeyUp及KeyPress事件,可以把编写响应击键事件的应用程序看作是编写键盘处理器。键盘处理器可在控件级和窗体级这两个层
2、次上工作。有了控件级(低级)处理器就可对特定控件编程。例如,可能希望将Textbox这个控件中的输入文本都转换成大写字符。而有了窗体级处理器就可使窗体首先响应击键事件,于是就可将焦点转换成窗体的控件并重复或启动事件。,11.1.1 KeyPress事件 KeyPress事件当用户按下和松开一个ASCII字符键时发生。该事件被触发时,被按键的ASCII码将自动传递给事件过程的KeyAscii参数。在程序中,通过访问该参数,即可获知用户按下了哪一个键,并可识别字母的大小写。其语法格式为: Private Sub 对象名_KeyPress(keyascii As Integer) 其中参数keyas
3、cii是被按下字符键的标准ASCII码。对它进行改变可给对象发送一个不同的字符。将keyascii改变为0时可取消击键,这样一来对象便接收不到字符。 KeyPress事件可以引用任何可打印的键盘字符、来自标准字母表的字符或少数几个特殊字符之一的字符与Ctrl键的组合、Enter或Backspace键。,【例11-1】可以显示按键及其ASCII码的程序(如图11-1)。 图11-1 KeyPress事件接受的按键 程序的代码部分: 复选框的Click事件代码: Private Sub Check1_Click() Text1.SetFocus End Sub,文本(输入)框Text1的KeyPr
4、ess事件代码: 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 +
5、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,11.1.2 KeyDown和KeyUp事件 KeyDown和KeyUp事件是当一个对象具有焦点时按下或松开一个键时发生的。当控制焦点位于某对象上时,按下键盘中的任意一键,则会在该对象上触发产生KeyDown事件,当释放该
6、键时,将触发产生KeyUp事件,之后产生KeyPress事件。其语法格式为: Private Sub 对象名_KeyDown(KeyCode As Integer, Shift As Integer) Private Sub 对象名_KeyUp(KeyCode As Integer, Shift As Integer) 其中参数KeyCode参数项用于返回被按键的扫描代码。由于扫描码主要反映物理键位,因此通过该参数不能区分字母大小写。,11.1.2 KeyDown和KeyUp事件 shift参数项返回一个整数,该整数相应于Shift、Ctrl和Alt键的状态。shift参数等于1、2和4分别表
7、示Shift、Ctrl和Alt键被按下,而三数的部分和表示三个按钮部分地被同时按下。因此,可结合该参数项来判断输入字母的大小写。 应当使用KeyDown和KeyUp事件过程来处理任何不被KeyPress识别的击键,诸如:功能键、编辑键、定位键以及任何这些键和键盘换档键的组合等。与KeyDown和KeyUp事件不同的是,KeyPress不显示键盘的物理状态,而只是传递一个字符。,【例11-2】可以测试功能键与控制键的程序(如图11-2)。 程序的代码部分: 文本(输入)框Text1的Keydown事件代码: Private Sub Text1_Keydown(KeyCode As Integer
8、, Shift As Integer) Text2.Text = Text2.Text & Str(KeyCode) & , If KeyCode 111 And KeyCode 0, 1, 0) Check2.Value = IIf(Shift And vbCtrlMask) 0, 1, 0) Check3.Value = IIf(Shift And vbAltMask) 0, 1, 0) End Sub,命令按钮(清除)Command1 的 Click 事件代码: Private Sub Command1_Click() Text1.Text = Text2.Text = Text1.Se
9、tFocus End Sub 图11-2 测试功能键与控制键,11.1.3 使用KeyPreview属性 KeyPreview 属性返回或设置一个值,以决定是否在控件的键盘事件(KeyDown、KeyUp 和 KeyPress)之前激活窗体的键盘事件。其语法为: 对象名.KeyPreview = boolean 其中,Boolean是布尔表达式,指定如何接收事件:当取值为False(缺省值)时,活动控件接收键盘事件,而窗体不接收;当取值为True时,窗体先接收键盘事件,然后是活动控件接收事件。,11.2 鼠标事件 在前面的例子中曾多次使用鼠标事件,即单击(Click)事件和双击(DblClic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 键盘 鼠标 事情 过程 进程
限制150内