- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 输入/输出操作管理 键盘响应与鼠标响应 文件的数据管理 文件系统控件 本章学习目标 熟练掌握键盘字符、功能键、控制键等各类按键的识别方法 掌握MouseDown、MouseUp和MouseMove三类鼠标响应事件的编程方法 全面掌握顺序文件、随机文件的打开、读写和关闭操作 掌握三种文件系统控件的使用,尤其是如何实现三种控件的功能同步 键盘响应示例 编写一个可判断功能键F2与Alt、Shift、Ctrl中的哪一个或哪两个进行组合控制的键盘响应示例程序 键盘响应示例实现方法 选择正确的响应事件 如何区分用户按键 选择正确的响应事件 在VB6.0中,可以响应用户按键的事件有:KeyPress(若有键被按下)、KeyDown(按下某个键)、KeyUp(松开某个键)三种,但KeyPress事件只能区分普通的ASCII码字符,无法判断组合控制键、光标移动键等,因此本示例中必须使用KeyDown或KeyUp事件。 如何区分用户按键 无论是KeyDown还是KeyUp事件,都有两个参数:KeyCode As Integer, Shift As Integer,其中Keycode中存放所按键的键值(不区分大小写字符,但区分大小键盘);Shift参数用于表示事件发生时,Shift键、Alt键和Ctrl键的状态。 键盘上各键的键值可通过VB对象浏览器了解 例如:判断用户是否按下F2键,只需判断KeyCode=vbKeyF2是否成立 VB中的三个测试常量 VbShiftMask、VbCtrlMask及VbAltMask,其值分别表示1、2和4 。 常见的测试这三种控制键的方法 : 键盘响应相关知识点 KeyPress、KeyUp和KeyDown键盘响应事件 三种事件的响应差异 KeyPress事件的使用 KeyPress、KeyUp和KeyDown 当用户按下并且释放一个ANSI键就会触发KeyPress事件; 按下一个键便触发KeyDown事件,释放引发KeyUp事件。 在引发键盘事件的同时,用户所按的键盘码作为实参传递给相应的事件过程,供程序判断识别用户的操作。 三种事件的响应差异 KeyPress只响应按下标准ASCII字符表中对应的键时的事件,如回车键、Tab键、Backspace键等以及标准键盘中的字母、标点、数字键等。 KeyDown和KeyUp事件能区分控制键、功能键、大小键盘区域内的字符等KeyPress无法处理的情况 ,但不区分大小写。 KeyDown与KeyUp无本质差别,但若用户需进行单步跟踪调试时,可选择KeyUp KeyPress事件的使用 将文本框Text1中输入的文本转换为大写在文本框Text2中显示。 Private Sub Text1_KeyPress(KeyAscii As Integer) ? Text2 = Text2 + UCase(Chr(KeyAscii)) End Sub 将KeyAscii参数设置为0时,可取消击键事件,这样对象便接收不到字符,即可屏蔽键盘输入。 【思考题6-1】 无论用户在文本框Text1中输入任何字符,程序均在Text1中显示大写字符A; 当用户在Text1中按键时,直接显示所按键的大写。 鼠标响应编程示例 一个可进行简单的随手涂鸦的画图程序。 当用户在窗体上按下鼠标不放并移动时,便可进行随手涂鸦,此时鼠标指针为十字形,松开鼠标,鼠标指针恢复为箭头形状。 随手涂鸦的画图程序实现分析 选择正确的响应事件 :MouseDown,MouseUp及MouseMove 如何设置鼠标指针 如何实现随手涂鸦 如何设置鼠标指针 通过MousePointer属性,大部分控件都具有该属性。在程序设计中,往往可通过不同的鼠标指针形状来表达正在执行不同的任务,如用沙漏状表示等待状态;十字形表示画图状态;箭头及问号状表示求助状态等等。 对象名.MousePointer=设定值 如何实现随手涂鸦 可在MouseMove事件过程中,用画线的方法来实现该功能。 用Line -(X, Y)表示从当前位置画线到(X,Y)坐标。 鼠标响应相关知识点 MouseDown、MouseUp和MouseMove事件的应用 DragDrop和DragOver事件 MouseDown、MouseUp和MouseMove的应用 事件过程的一般格式(以窗体对象为例): Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Private Sub Form_MouseUp(Button As
文档评论(0)