版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic程序设计教学课件程序设计教学课件 1. 理解鼠标、键盘事件的触发机制。理解鼠标、键盘事件的触发机制。 2. 掌握鼠标的掌握鼠标的MouseDown, MouseMove, MouseUp事件中各参数的含义及编程控制。事件中各参数的含义及编程控制。 3. 掌握键盘的掌握键盘的KeyDown, KeyPress, KeyUp 事件中各事件中各参数的含义及编程控制参数的含义及编程控制 4. 了解事件驱动的拖放和了解事件驱动的拖放和 OLE 的拖放。的拖放。本章要求:本章要求:第第12章章 键盘与鼠标事件过程键盘与鼠标事件过程本章重点:本章重点:本章难点:本章难点:理解鼠标、键
2、盘事件的触发机制运用理解鼠标、键盘事件的触发机制运用事件驱动的拖放和事件驱动的拖放和 OLE 的拖放的拖放Visual Basic程序设计教学课件程序设计教学课件 12.1 键盘事件 在在Visual Basic中,提供中,提供KeyPress、KeyDown、KeyUp三种三种键盘事件,窗体和接受键盘输入的控件都识别这三种事件。键盘事件,窗体和接受键盘输入的控件都识别这三种事件。 KeyPress 按下对应某按下对应某ASCII 字符的键。字符的键。 KeyDown 按下键盘的任意键。按下键盘的任意键。 KeyUp 释放键盘的任意键只有获得焦点的对象才能够接释放键盘的任意键只有获得焦点的对象
3、才能够接受键盘事件。受键盘事件。 12.1.1 KeyPress 事件事件在按下与在按下与ASCII字符对应的键时将触发字符对应的键时将触发KeyPress 事件。事件。 Visual Basic程序设计教学课件程序设计教学课件 KeyPress 事件过程的语法格式是:事件过程的语法格式是:其中:其中: 例如,如果希望将文本框中的所有字符都强制转换为大写例如,如果希望将文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写:字符,则可在输入时使用此事件转换大小写:Private Sub Text1_KeyPress (KeyAscii As Integer) KeyAscii
4、 = Asc(Ucase(Chr(KeyAscii)End Sub Object是指窗体或控件对象名,是指窗体或控件对象名,KeyAscii 参数返回对应参数返回对应于于ASCII字符代码的整型数值。字符代码的整型数值。 12.1 键盘事件Visual Basic程序设计教学课件程序设计教学课件 例例12.1 12.1 通过编程序,在一个文本框(通过编程序,在一个文本框(Text1Text1)中限定只能)中限定只能输入数字、小数点,只能响应输入数字、小数点,只能响应BackSpaceBackSpace 键及回车键。键及回车键。Private Sub Text1_KeyPress (KeyAsc
5、ii As Integer) Select Case KeyAscii Case 48 to 57,46,8,13 Case Else KeyAscii=0 End SelectEnd Sub KeyPress 事件只识别事件只识别 Enter、Tab和和Backspace 键。不能键。不能够检测其它功能键、编辑键和定位键。够检测其它功能键、编辑键和定位键。 12.1 键盘事件Visual Basic程序设计教学课件程序设计教学课件 12.1.2 KeyDown 和和 KeyUp 事件事件 当一个对象具有焦点时按下(当一个对象具有焦点时按下(KeyDown) 或松开或松开 ( KeyUp )
6、一个键时发生。它们报告键盘本身准确的物理状一个键时发生。它们报告键盘本身准确的物理状态:按下键态:按下键 (KeyDown) 及松开键及松开键 (KeyUp)。 KeyDown和和KeyUp事件能够检测其它功能键、编辑键和定事件能够检测其它功能键、编辑键和定位键。位键。KeyUp 和和 KeyDown 事件过程的语法格式如下:事件过程的语法格式如下:Sub Object_KeyDown(KeyCode As Integer, Shift As Integer)Sub Object_KeyUp(KeyCode As Integer, Shift As Integer)说明:说明:1Keycode
7、 参数表示按下的物理键。上档键字符和下档键参数表示按下的物理键。上档键字符和下档键字符也是使用同一键,它们的字符也是使用同一键,它们的Keycode值相同。值相同。 Visual Basic程序设计教学课件程序设计教学课件 keycode 参数通过参数通过 ASCII 值或键代码常数来识别键。字值或键代码常数来识别键。字母键的键代码与此字母的大写字符的母键的键代码与此字母的大写字符的 ASCII 值相同。所以值相同。所以 A 和和 a 的的 keycode 都是由都是由 Asc(A) 返回的数值。在下返回的数值。在下例中用例中用 KeyDown 事件判断是否按下了事件判断是否按下了 A 键:键
8、:12.1 键盘事件Visual Basic程序设计教学课件程序设计教学课件 Private Sub Text1_KeyDown(KeyCode As _ Integer, Shift As Integer) If KeyCode = vbKeyA Then MsgBox You pressed the A key.“ End ifEnd SubPrivate Sub Text1_KeyDown(KeyCode As _ Integer, Shift As Integer) If KeyCode = vbKey1 And shift=1 Then MsgBox You pressed the
9、! key.“ End ifEnd Sub12.1 键盘事件Visual Basic程序设计教学课件程序设计教学课件 2shift参数参数shift表示是在该事件发生时响应表示是在该事件发生时响应SHIFT、CTRL 和和 ALT 键键的状态,它是一个整数。其含义与上一节中的状态,它是一个整数。其含义与上一节中MouseMove、MouseDown、MouseUp事件中的事件中的shift参数完全相同。参数完全相同。例如:下例是用例如:下例是用Shift参数判断是否按下了字母的大写形式。参数判断是否按下了字母的大写形式。Private Sub Text1_KeyDown(KeyCode As
10、Integer, Shift As Integer) If KeyCode = vbKeyA And Shift = 1 Then MsgBox “你按了大写字母你按了大写字母A键键.End ifEnd Sub12.1 键盘事件Visual Basic程序设计教学课件程序设计教学课件 思考题:思考题: 编写一个在文本框(编写一个在文本框(Text1)中操作,能够响应键)中操作,能够响应键盘组合操作的程序,用户所作的每一步操作都将在标签框盘组合操作的程序,用户所作的每一步操作都将在标签框(Label1)中显示出相关信息。)中显示出相关信息。12.1 键盘事件Visual Basic程序设计教学课
11、件程序设计教学课件 12.2 鼠标事件鼠标事件 大多数控件能够识别鼠标的大多数控件能够识别鼠标的MouseMove、MouseDown和和MouseUp事件,通过响应这些鼠标事件,能在应用程序对鼠事件,通过响应这些鼠标事件,能在应用程序对鼠标位置及状态的变化作出响应操作。标位置及状态的变化作出响应操作。MouseMove 每当鼠标指针移动到屏幕新位置时发生每当鼠标指针移动到屏幕新位置时发生MouseDown 按下任意鼠标键按钮时发生按下任意鼠标键按钮时发生MouseUp 释放任意鼠标键按钮时发生释放任意鼠标键按钮时发生12.2.1 鼠标事件过程鼠标事件过程Visual Basic程序设计教学课
12、件程序设计教学课件 MouseMove、MouseDown、MouseUp三个事件的过程的语三个事件的过程的语法格式如下:法格式如下:Sub Object_MouseMove(Button As Integer,Shift As Integer,_ X As Single,Y As Single)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
13、,Y As Single) 其中:其中:1Object是可选的一个对象表达式,可以是窗体对象和大多是可选的一个对象表达式,可以是窗体对象和大多数可视控件。数可视控件。 2Button参数是表示按下或松开鼠标哪个按钮,参数是表示按下或松开鼠标哪个按钮, 12.2 鼠标事件鼠标事件Visual Basic程序设计教学课件程序设计教学课件 参数参数Button值值参数(参数(Button)值值 说明说明vbLeftButton 1左按钮被按下左按钮被按下vbRightButton 2右按钮被按下右按钮被按下vbMiddleButton 4中间按钮被按下中间按钮被按下 12.2 鼠标事件鼠标事件Vis
14、ual Basic程序设计教学课件程序设计教学课件 参数参数Shift值值参数(参数(Shift) 值值 描述描述vbShiftMask 1SHIFT 键被按下键被按下vbCtrlMask 2CTRL 键被按下键被按下vbAltMask 4ALT 键被按下键被按下 3通过通过Shift参数表示在参数表示在Button参数指定的按钮被按下参数指定的按钮被按下或者被松开的情况下键盘的或者被松开的情况下键盘的Shift、Ctrl和和Alt键的状态,键的状态, 12.2 鼠标事件鼠标事件Visual Basic程序设计教学课件程序设计教学课件 Ctrl、Shift、Alt三键组合使用情况如表三键组合使
15、用情况如表12112.2 鼠标事件鼠标事件Visual Basic程序设计教学课件程序设计教学课件 4. 参数参数X、Y X, Y鼠标指针的位置,通过鼠标指针的位置,通过X和和Y参数返回一个指定鼠参数返回一个指定鼠标指针当前位置的数,标指针当前位置的数,X和和Y的值是使用该对象的坐标系统的值是使用该对象的坐标系统表示鼠标指针当前位置。表示鼠标指针当前位置。 注意:注意: 鼠标事件被用来识别和响应各种鼠标状态,并把这些状鼠标事件被用来识别和响应各种鼠标状态,并把这些状态看作独立的事件,在按下鼠标按钮并释放时,态看作独立的事件,在按下鼠标按钮并释放时,Click 事件事件只能把此过程识别为一个单一
16、的单击操作。鼠标事件能够区只能把此过程识别为一个单一的单击操作。鼠标事件能够区分各鼠标按钮及键盘的分各鼠标按钮及键盘的SHIFT、CTRL、ALT 键的状态。键的状态。例题:例题:使用使用MouseUp 与与 MouseDown 和和MouseMove 事件,事件,编写一个在窗体上用鼠标绘图的简单程序。编写一个在窗体上用鼠标绘图的简单程序。 12.1 鼠标事件鼠标事件Visual Basic程序设计教学课件程序设计教学课件 12.3.1 控件控件 拖拖 放放 (简略介绍,一般不作要求) 在运行时拖动控件,通常情况下并不能自动改变控件位置,在运行时拖动控件,通常情况下并不能自动改变控件位置,这就
17、必须使用这就必须使用Visual Basic的拖放功能,通过编程,才能实的拖放功能,通过编程,才能实现在运行时拖动控件并改变其位置。把按下鼠标按钮并移动现在运行时拖动控件并改变其位置。把按下鼠标按钮并移动控件的操作称为控件的操作称为拖动拖动,把释放按钮的操作称为,把释放按钮的操作称为放下放下。12.3 拖放操作拖放操作Visual Basic程序设计教学课件程序设计教学课件 在运行时间拖放鼠标触发DragDrop事件。源和目标:源和目标:l源:指被拖放的控件(不包括Menu、Timer、 Line和Shape控件)。l目标:指在其上放置控件的对象,可以是窗体或 控件。注意:注意:执行拖放操作引
18、发的是目标对象目标对象的 DragDrop事件。 Private Sub Form_DragDrop(Source As Control, x As Single,y As Single) Private Sub 对象名对象名_DragDrop(index As Integer,Source As Control,x As Single,y As Single)Visual Basic程序设计教学课件程序设计教学课件 index:唯一标识控件数组中的控件。Source:被拖放的控件。x,y:鼠标在目标对象中的位置坐标。过程名中的Form或对象名即为目标对象。(为了在运行时间实现拖动)lDragMode属性: 源控件源控件 DragMode属性设置 为1,表示自动模式。(缺省值为0: 手工模式)lDragIcon属性:设置拖放显示的图标。Visual Basic程序设计教学课件程序设计教学课件 当用户用鼠标拖动源对象经过目标对象时, 无论鼠标是否释放,都会引发目标对象的 DragOver事件。(源对象的DragMode=1) Private Sub Form_DragOver(Source As Control, x As Single,y As Single,state
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚合同十一篇
- 深圳市供用气合同(32篇)
- 消防安全为主题的演讲稿范文(3篇)
- 公路施工事故案例分析
- 带扬声器的无线麦克风相关项目建议书
- 用户体验优化手册
- 生态旅游与环境保护作业指导书
- 生产计划与控制教程与作业指导书
- 基于金世力德的纳米制造技术研究
- 03 第三单元测试卷(A卷基础篇)
- 广西岑溪市2025年高三高考化学试题系列模拟卷(3)含解析
- 2024-2030年中国燃气表行业市场发展分析及发展趋势预测研究报告
- 2024年省食品生产监管能力大比武理论备赛试题库(含答案)
- TCECA-G 0310-2024 离网制氢灵活消纳与柔性化工系统开发规范
- 突发事件应对法
- (正式版)YBT 6328-2024 冶金工业建构筑物安全运维技术规范
- 小学劳动《家用电器的发展(一)》课件
- 我国圆明园文化遗产的资料
- 守岛战士生活艰苦的资料
- 《上海市奉贤区小区机动车停放管理工作调查报告》4300字
- GB/T 15605-1995粉尘爆炸泄压指南
评论
0/150
提交评论