二级VB鼠标事件与键盘事件_第1页
二级VB鼠标事件与键盘事件_第2页
二级VB鼠标事件与键盘事件_第3页
二级VB鼠标事件与键盘事件_第4页
二级VB鼠标事件与键盘事件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二章本章要求:响应鼠标和键盘事件1.理解鼠标、键盘事件的触发机制。2.掌握鼠标的MouseDown,MouseMove,MouseUp事件中各参数的含义及编程控制。3.掌握键盘的KeyDown,KeyPress,KeyUp事件中各参数的含义及编程控制12.1鼠标事件大多数控件能够识别鼠标的MouseMove、MouseDow和MouseUp事件,通过响应这些鼠标事件,能在应用程序对鼠标位置及状态的变化作出响应操作。1.MouseMove2.MouseDown每当鼠标指针移动到屏幕新位置时发生按下任意鼠标键按钮时发生3.MouseUp释放任意鼠标键按钮时发生12.1.1鼠标事件过程MouseMove、MouseDown、MouseUp三个事件的过程的语法格式如下:SubObject_MouseMove(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)SubObject_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)SubObject_MouseUp(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)其中:1.Object是可选的一个对象表达式,可以是窗体对象和大多数可视控件。2.Button参数是表示按下或松开鼠标哪个按钮。参数Button值参数(Button)vbLeftButtonvbRightButtonvbMiddleButton值124说明左按钮被按下右按钮被按下中间按钮被按下3.通过Shift参数表示在Button参数指定的按钮被按下或者被松开的情况下键盘的Shift、Ctrl和Alt键的状态。参数Shift值参数(Shift)值vbShiftMask1vbCtrlMask2vbAltMask4描述SHIFT键被按下CTRL键被按下ALT键被按下Ctrl、Shift、Alt三键组合使用情况如表12.14.参数X、YX,Y鼠标指针的位置,通过X和Y参数返回一个指定鼠标指针当前位置的数,X和Y的值是使用该对象的坐标系统表示鼠标指针当前位置。注意:鼠标事件被用来识别和响应各种鼠标状态,并把这些状态看作独立的事件,在按下鼠标按钮并释放时,Click事件只能把此过程识别为一个单一的单击操作。鼠标事件能够区分各鼠标按钮及键盘的SHIFT、CTRL、ALT键的状态。例使用MouseUp与MouseDown和MouseMove事件,编写一个在窗体上用鼠标绘图的简单程序。12.1.2拖放(简略介绍,一般不作要求)在运行时拖动控件,通常情况下并不能自动改变控件位置,这就必须使用VisualBasic的拖放功能,通过编程,才能实现在运行时拖动控件并改变其位置。把按下鼠标按钮并移动控件的操作称为拖动,把释放按钮的操作称为放下。12.1.3OLE拖放(简略介绍,一般不作要求)VisualBasic支持OLE拖放,使用这种强大且实用的工具,可以在其他支持OLE拖放的应用程序(如Windows资源管理器、Word和Excel等等)之间、控件之间拖放数据。12.2键盘事件在VisualBasic中,提供KeyPress、KeyDown、KeyUp三种键盘事件,窗体和接受键盘输入的控件都识别这三种事件。1.KeyPress按下对应某ASCII字符的键。2.KeyDown按下键盘的任意键。3.KeyUp释放键盘的任意键只有获得焦点的对象才能够接受键盘事件。12.2.1KeyPress事件(前已述)在按下与ASCII字符对应的键时将触发KeyPress事件。KeyPress事件过程的语法格式是:SubObject_KeyPress(KeyAsciiAsInteger)其中:Object是指窗体或控件对象名,KeyAscii参数返回对应于ASCII字符代码的整型数值。例如,如果希望将文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写:PrivateSubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=Asc(Ucase(Chr(KeyAscii)))EndSubKeyPress事件只识别Enter、Tab和Backspace键。不能能够检测其它功能键、编辑键和定位键。12.2.2KeyDown和KeyUp事件当一个对象具有焦点时按下(KeyDown)或松开(KeyUp)一个键时发生。它们报告键盘本身准确的物理状态:按下键(KeyDown)及松开键(KeyUp)。KeyDown和KeyUp事件能够检测其它功能键、编辑键和定位键。KeyUp和KeyDown事件过程的语法格式如下:SubObject_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SubObject_KeyUp(KeyCodeAsInteger,ShiftAsInteger)说明:1.Keycode参数表示按下的物理键。上档键字符和下档键字符也是使用同一键,它们的Keycode值相同。keycode参数通过ASCII值或键代码常数来识别键。字母键的键代码与此字母的大写字符的ASCII值相同。所以A和a的keycode都是由Asc(A)返回的数值。在下例中用KeyDown事件判断是否按下了A键:PrivateSubText1_KeyDown(KeyCodeAs_Integer,ShiftAsInteger)IfKeyCode=vbKeyAThenMsgBoxYoupressedtheAkey.“EndifEndSubPrivateSubText1_KeyDown(KeyCodeAs_Integer,ShiftAsInteger)IfKeyCode=vbKey1Andshift=1ThenMsgBoxYoupressedthe!key.“EndifEndSub2.shift参数shift表示是在该事件发生时响应SHIFT、CTRL和ALT键的状态,它是一个整数。其含义与上一节中MouseMove、MouseDown、MouseUp事件中的shift参数完全相同。例如:下例是用Shift参数判断是否按下了字母的大写形式。PrivateSu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论