Visual Basic程序设计电子课件——第5章 键盘与鼠标事件
VB中的键盘事件、鼠标事件、拖放技术

VB中的键盘事件、鼠标事件、拖放技术键盘事件:参数是KeyAscii,每次按一下键盘上的一个键,相应的键的Ascii码值都要赋给参数KeyAscii,然后再执行相应的操作KeyPreview:接受键盘事件。
默认情况下,窗体的KeyPreview 属性为False,只有窗体获得焦点才能相应键盘事件;若窗体的KeyPreview属性为True,窗体会在空件之前首先截获键盘事件。
Shift And 7: 取Shift参数的低三位,因为7的二进制数是111,shift参数与111进行按位And运算,得到是按了三个功能键中的哪一个。
命令按钮控件的default属性用于设置默认命令按钮.,设置为true时,按[Enter键]相当于用鼠标单击了该按钮,Cancel属性为True,则Esc键触发按钮的Click事件快捷键的优先级高于键盘事件,鼠标事件:参数X和Y表示鼠标指针的位置Clc:清除图像。
划线函数Line格式:Line (x1, y1) -(x2, y2), [color], [B][F](x1, y1) 可选的。
Single (单精度浮点数),直线或矩形的起点坐标。
(x2, y2) 必选的。
Single (单精度浮点数),直线或矩形的终点坐标。
color 可选的。
Long (长整型数),画线时用的 RGB 颜色,可用RGB函数B 可选的。
如果包括,则利用对角坐标画出矩形。
F 可选的。
如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。
不能不用 B 而用F。
例:Line (0, 0)-(X, Y), vbGreen, BF拖放技术:DragMode属性:0—手动拖放,1—自动拖放DragDrop事件:Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)Source.Move X, YEnd Sub---Source表示拖放的控件,即DragMode属性为1的控件;xy 表示鼠标指针的位置坐标。
VB程序设计键盘与鼠标事件过程

VB程序设计键盘与鼠标事件过程11.1 键盘事件在Visual Basic中,窗体和接受键盘输入的控件都能识别这三种键盘事件:一是KeyPress,按下对应某ASCII字符的键;二是KeyDown,按下键盘的任意键;三是KeyUp,释放键盘的任意键。
只有获得焦点的对象才能接受键盘事件。
11.1.1 KeyPress事件当按下某个键时,将触发拥有输入焦点(Focus)的那个控件的KeyPress事件,返回“所按字符”的ASCII码。
语法格式:Sub Object_KeyPress(KeyAscii As Integer)或Sub Object_KeyPress([index As Integer,]KeyAscii As Integer) 说明:1、Object:是指窗体或控件对象名;2、index:一个整数,它用来惟一标识一个控件数组中的控件;3、KeyAscii:是指KeyAscii参数返回对应ASCII字符代码的整型数值;KeyPress事件带有一个参数,这个参数有两种形式。
第一种形式为:Index As Integer,这种形式只用于控件数组;第二种形式为:KeyAscii As Integer,这种形式只用于单个控件。
11.1.2 KeyDown事件和KeyUp事件当按下或松开某个键时,将触发拥有输入焦点(Focus)的那个控件的KeyDown事件或者KeyUp事件,返回键盘的直接状态。
KeyDown事件和KeyUp事件的参数也有两种形式:(1)Index As Integer 只用于控件数组。
(2)KeyCode As Integer,Shift As Integer 用于单个控件,本章只讨论这种形式。
语法格式为:Sub Object_KeyDown(KeyCode As Integer,Shift AsInteger)Sub Object_KeyUp(KeyCode As Integer,Shift As Integer)说明:1.KeyCode参数KeyCode表示按下的物理键,以“键”为准,而不是以“字符”为准。
VB完整课件PPT

7. Forecolor前景颜色属性 设置控件的前景颜色(即正文颜色)。其值是一个十六 进制常数,用户可以在调色板中直接选择所需颜色。 8. Backcolor背景颜色属性 9. Backstyle背景风格属性 0-transparent:透明显示,即控件背景颜色显示不出来。 10. BorderStyle边框风格属性 0-None:控件周围没有边框 。 1-Fixed Single:控件带有单边框。 11. Alignment属性 控件上正文水平对齐方式 0:正文左对齐 ;1:右对齐;2:居中。 12. AutoSize属性 控件是否根据正文自动调整大小, False 13. WordWarp属性 AutoSize True时,WordWarp才有效。 按正文字体大小在垂直方向上改变显示区域的大小。
目前的最新版本是VB 2010 测试版
1.1可视化编程的概念
Visual的英文含义就是可视化,“可视的Basic” 这个名字可能抽象了点,但实际上它却是最直观的 编程方法,不需要编写大量代码去描述界面元素的 外观和位置,只要把预先建立好的对象拖放到屏幕 上相应的位置即可。 在VB中引入了控件的概念,在Windows中控件 的身影无处不在,如按钮、文本框等,VB把这些控 件模式化,并且每个控件都有若干属性用来控制控 件的外观,工作方法。
8. 立即窗口
• 在中断模式下,用以显示变量值或属性值和 设置变量值或属性值;检查和调试程序;控 制单步执行;输出中间结果;执行单行命令 等。
1.4
VB的有关概念
1. 类 是创建对象实例的模板, 包含创建对象的属 性描述和行为特征的定义。类属于一种数据类型, 被类说明的变量称为对象。 2. 对象 是类的一个实例,继承了类的属性、方法。 VB中常用的对象有:窗体、各种控件等。 3. 对象的建立和命名 4. 对象的三要素 (1)属性 对象的性质,即用来描述和反映对象特征 的参数。
Visual Basic程序设计实用教程第五章

2013-6-28
VB程序设计
1
第5章 菜单和对话框
菜单、对话框是一类特殊的控件, 菜单按应用分为下拉式菜单和弹出式菜 单两种;对话框可以分为固定格式的对 话框、用户自定义对话框和通用对话框。
2013-6-28
VB程序设计
2
第5章 菜单和对话框
5.1 5.2 5.3 下拉式菜单的设计 弹出式菜单 对话框
为通用级变量,在整个窗体中该类变量有效 '清除菜单对应的代码
Private Sub m11_Click() Text1.SetFocus '设置文本框一为当前鼠标的焦点 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" '退出菜单对应的代码 Text7.Text = "" Private Sub m12_Click() Text8.Text = "" End Text9.Text = "" End Sub End Sub
2013-6-28
VB程序设计
14
5.1 下拉式菜单
【例5-1】一个界面包含三个下拉菜单和一 个标签框,完成功能:选择菜单项中对应 的前景与背景颜色可以修改标签框中的字 体与背景颜色;子菜单中设置“还原”项 用来恢复标签框的初始颜色;利用子菜单 中“退出”项用来退出程序。
演示
2013-6-28 VB程序设计 15
请在数学、物理、语文、化学、外语、生 物栏中输入学生的成绩,然后选择“查询 数据”下拉菜单中的“统计成绩”选项。 若选择“输入数据”下拉菜单中的“清除” 项,将重新开始操作。
VisualBasic程序设计教案第05章

Else和ElseIf语句用于处理If语 句中条件为False的情况。如果 If语句中的条件为False,则执 行Else或ElseIf后面的代码块。
Select Case语句用于根据一个 表达式的值来执行不同的代码 块。它类似于其他编程语言中 的switch语句。
循环结构
循环结构介绍
For语句
While语句
07
综合练习
简单计算器制作
总结词
掌握控件的使用
详细描述
通过制作一个简单的计算器,学生可以掌握如何在VB中 使用各种控件,如按钮、文本框等,以及如何处理用户 输入和输出结果。
总结词
理解事件驱动编程
详细描述
在计算器程序中,学生可以理解事件驱动编程的概念, 例如按钮点击事件的处理。
总结词
掌握数据类型和运算
字符型
布尔型
用于存储字符数据,包括字母、数字、符 号等。在Visual Basic中,字符型数据使用 Char数据类型表示。
用于存储逻辑值,即True或False。在 Visual Basic中,布尔型数据使用Boolean 数据类型表示。
变量和常量
变量
用于存储程序运行过程中变化的数值 或数据。在Visual Basic中,变量需 要先声明后使用,声明时需要指定变 量的名称和数据类型。
GoTo语句
GoTo语句用于将程序的执行流程跳转到指定的标签位置 。它通常用于错误处理和异常情况下的程序流程控制。
Exit语句
Exit语句用于退出当前的控制结构,如For、While或 Function/Sub过程。它可以使程序提前结束当前流程, 并返回到调用位置或程序的其他部分。
04
数组和集合
一维数组
visual basic程序设计基础全套教程、教案第五章VB程序控制结构ppt课件_图文

作业:
P81 一(1) (2)(3) 三 P83 二(1)(2)
第二次课 Select Case语句
• 【学习目标】 • 掌握多分支结构的特点、原理 • 掌握多分支select case语句的格式、功能及应用
Select Case的结构形式为: Select Case <测试表达式> [Case <表达式列表1> [<语句块1>]] [Case <表达式列表3> [<语句块2>]] … [Case <表达式列表n> [<语句块n>]] [Case Else [<语句块n+1>]] End Select
X=val(inputbox(“请输入一个数”)) If x>0 then
print “输入的数大于0” Else
if x<0 then Print “输入的数小于0”
else print “输入的数为0”
endif Endif Print”程序运行结束”
四、多分支块结构条件语句
格式: If 条件1 Then 语句块1 [ElseIf 条件2 Then 语句块2] [ ElseIf 条件3 Then 语句块3 ] …… [ Else 语句块N] End If
(2)当多个ElseIf子句中的条件都成立时,只执行第一个条件 成立的子句中的语句块。因此,在使用ElseIf语句时,要特别 注意各判断条件的前后次序。
1. a=75
if a>60 then I=1 if a>70 then I=2 if a>80 then I=3 if a>90 then I=4 print “I=”;I
if j1<j2 then print j2; print j1 2. x=5 :y=36 if not x<0 then x=sqr(y) else y=x+3
VB第5章

15
5.5
拖
放
1. 在设计Visual Basic应用程序时,经常使用控件的拖 放来调整其位置。而在程序的运行过程中也可以实现 拖放,但通常情况下并不能自动改变控件位置,这就 必须使用Visual Basic的拖放功能,通过编程,才能 实现在运行时拖动控件并改变其位置。把按下鼠标按 钮并移动控件的操作称为拖动,把释放按钮的操作称 为放下。
9
5.3
1.
鼠 标 事 件
在Visual Basic应用程序中可以响应多种鼠标事 件,大多数控件能够识别鼠标的MouseMove、 MouseDown和MouseUp事件。通过响应这些鼠标 事件,可以在应用程序中对鼠标位置以及状态的 变化做出相应的操作。 (1)当鼠标指针在屏幕上移动时就会触发鼠标的 MouseMove事件,在Visual Basic应用程序中, 当鼠标指针移动到窗体或者其他控件的边框内时, 窗体和控件都能够识别MouseMove事件。
5
5.2 键 盘 事 件
5.2.1
1.
KeyPress事件
当按下或松开键盘上的某个键时,将触发KeyPress事 件。KeyPress事件主要用来接收数字、字母、Enter、 Tab和Backspace等键的ASCII字符。
2.
KeyPress事件不显示键盘的物理状态(Shift键),而 只是传递一个字符。当按下键盘上的某个键时,触发 的是获得焦点(FOCUS)的控件的KeyPress事件。在同 一时刻,只能有一个控件获得焦点。如果窗体上没有 活动的或可见的控件,则焦点位于窗体上。拥有获得 焦点的对象(控件或窗体)可以接收从键盘上输入的 信息。
2.
7
5.2.2 KeyDown和KeyUp事件
鼠标事件_Visual Basic 6.0 程序设计_[共2页]
![鼠标事件_Visual Basic 6.0 程序设计_[共2页]](https://img.taocdn.com/s3/m/014baa1008a1284ac9504376.png)
198File1.Pattern = Combo1.Text End SubPrivate Sub Dir1_Change() File1.Path = Dir1.PathFile1.Refresh End SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.Drive End SubPrivate Sub File1_Click()Image1.Picture = LoadPicture (File1.Path + "\" + File1.FileName )End Sub表7-15 对象属性及其属性值对 象属 性属 性 值Label1Caption 文件类型Combo1Text 空Image1Stretch True7.7 鼠标和键盘鼠标和键盘是计算机的主要输入设备。
Visual Basic 应用程序可以检测并响应鼠标和键盘的多种事件。
前面我们学习了鼠标的最基本事件:单击事件Click 、双击事件DblClick 。
这两个事件没有参数,不能确定用户是在对象的什么位置上单击的鼠标,也不能确定用户单击的是左键还是右键,更不能确定用户在单击鼠标时是否同时按下了键盘上的Shift 键、Ctrl 键以及Alt 键,要想处理这些状态,需要用到本小节的其他几个鼠标事件。
另外,利用键盘事件可以响应各种键盘操作,还能处理和解释ASCII 字符。
7.7.1 鼠标事件鼠标事件是由用户操作鼠标而引发的能被各种对象识别的事件。
除了鼠标的Click 事件、DblClick 事件外,还有3个重要的鼠标事件。
① MouseDown 事件:用户按下鼠标键时被触发。
② MouseUp 事件:用户释放鼠标键时被触发。
③ MouseMove 事件:用户移动鼠标时被触发。
对于这3个事件,工具箱中的大部分控件都可以识别,其对应的事件过程分别为Private Sub 对象名_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Private Sub 对象名_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)。
VB程序设计第五章 PPT课件

5.3 标准文件输入/输出
Print#语句输出与Write语句输出的区别: (1)Print#语句在输出项中,用逗号分隔输出项, 可按分区格式输出;Write#语句用逗号分隔输出 项,不按分区格式输出,而是在输出项之间用逗 号分隔。对于Write语句,采用逗号分隔输出项还 是用分号分隔输出项没有差别。 (2)Print#语句生成的数据文件,数据项之间没 有逗号,而用Write#语句生成的数据文件,会在 文本上自动添加双引号,数据项之间有逗号。
5.3 标准文件输入/输出
2、顺序文件的写操作 3)输出项之间使用逗号分隔时,按分区格式输出 到文件,10列为一个分区。 4)在输出项中可使用spc(n)函数输出n个空格,使 用Tab(n)函数指定其后的输出项从n列开始输出。 5)Print #语句的末尾可以加分号、逗号或不加任何 符号。加分号表示下一个Print #语句的输出项不换 行,直接按紧凑格式输出;加逗号表示下一个Print #语句的输出项不换行,按分区格式输出;不使用 任何符号时,下一个Print #语句的输出项换行输出。
5.3 标准文件输入/输出
Private Sub Command1_Click() Open "j:\printtest.txt" For Output As #1 Print #1, "Print # 语句测试" Print #1, Print #1, "第一分区"; "第二分区" Print #1, "你好!", 2 * 3, 2 + 3 Print #1, Spc(2); "输出两个空格" Print #1, Tab(5); "从第五列开始输出" Print #1, "行 1" Print #1, 5; 6; -8 Close #1 MsgBox "j:\printtest创建成功!" End Sub
VisualBASIC程序设计 第5讲文件PPT教学课件

分类:
从文件内容分—程序文件、数据文件
第 八 章
按存取方式分—顺序文件、随机文件、二进制文件 顺序文件: 普通的纯文本文件。
查找数据必须按记录顺序进行。
文
不能同时进行读写操作。
随机文件: 以固定长度的记录为单位进行存储。
件
可以按任意顺序访问其中的数据。
可以同时进行读写操作。
不能用字处理软件查看。
二进制文件: 以字节为单位进行访问。
第 八 章 文
件 CommonDialog1
Text1 Text2 Text3 Text4
2020/12/10
Command1 Command2
9
Private Sub Form_Load()
与Append的区别?
CommonDialog1.ShowSave
Open CommonDialog1. For Output As #2
顺序文件操作: 打开文件、读或写文件、关闭文件
2020/12/10
4
8.2.1 顺序文件的打开和关闭 1. 顺序文件的打开
格式: Open <文件名> FOR <方式> AS [#]<文件号>
第 功能: 按指定的方式打开文件,并指定一文件号。 八 <方式>: 章 Input——以只读方式打开。当文件不存在时出错。
件
Close #1, 2, #8 ' 文件号前的“#”号可以省略
(3) 关闭所有打开的文件
Close
2020/12/10
7
8.2.2 顺序文件的读写
1. 写操作
(1) Write #语句
格式: Write #<文件号>,[<输出列表>]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章
键盘和鼠标事件
本章内容及要求:
(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组合键
7
vbCtrlMask+VBShiftMa 按下/松开Ctrl+Shift+Alt组合
sk+VBAltMask
键
8
Private Sub Form_Load() Show Text1.Text = "" Text1.SetFocus End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Print Chr(KeyCode)
Object是指窗体或控件对象名,KeyAscii 参数返回对应
第 于ASCII字符代码的整型数值。 五 例如,如果希望将文本框中的所有字符都强制转换为大写字 章 符,则可在输入时使用此事件转换大小写:
Private Sub Text1_KeyPress (KeyAscii As Integer)
KeyAscii = Asc(Ucase(Chr(KeyAscii)))
在运行时拖动控件,通常情况下并不能自动改变控件位 置,这就必须使用Visual Basic的拖放功能,通过编程,才 能实现在运行时拖动控件并改变其位置。把按下鼠标按钮并 移动控件的操作称为拖动,把释放按钮的操作称为放下。
第 五 章
拖放属性、事件和方法
17
OLE 拖放
Visual Basic支持OLE 拖放,使用这种强大且实用的 工 具 , 可 以 在 其 他 支 持 OLE 拖 放 的 应 用 程 序 ( 如 Windows 资源管理器、Word 和 Excel等等)之间、控件之
法格式如下:
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)
第 五 章
14
4. 参数X、Y
X, Y鼠标指针的位置,通过X和Y参数返回一个指定鼠 标指针当前位置的数,X和Y的值是使用该对象的坐标系统 表示鼠标指针当前位置。
注意:
第
五
鼠标事件被用来识别和响应各种鼠标状态,并把这
章 些状态看作独立的事件,在按下鼠标按钮并释放时,
Click 事件只能把此过程识别为一个单一的单击操作。鼠
说明: (1).Keycode 参数表示按下的物理键。上档键字符和下 档键字符也是使用同一键,它们的Keycode值相同。
5
Keycode与KeyAscii的值
第 五 章
keycode 参数通过 ASCII 值或键代码常数来识别键。字母键 的键代码与此字母的大写字符的 ASCII 值相同。所以 "A" 和 "a" 的 keycode 都是由 Asc("A") 返回的数值。在下例中 用 KeyDown 事件判断是否按下了 "A" 键:
KeyDown和KeyUp事件能够检测其它功能键、编辑键和定
第 位键。 五 章 KeyUp 和 KeyDown 事件过程的语法格式如下:
Sub Object_KeyDown(KeyCode As Integer, Shift As Integer)
Sub Object_KeyUp(KeyCode As Integer, Shift As Integer)
第 End Sub 五 Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) 章 Print Chr(KeyCode + 2)
End Sub
9
二、 鼠标事件
大多数控件能够识别鼠标的MouseMove、MouseDow
和MouseUp事件,通过响应这些鼠标事件,能在应用程序
第 五
1
章
2
vbShiftMask vbCtrlMask
按下/松开Shift键 按下/松开Ctrl键
3
vbCtrlMask+vbShiftMas k
按下/松开Ctrl+Shift组合键
4
vbAltMask
按下/松开Alt键
5
vbAltMask+VBShiftMas k
按下/松开Alt+Shift组合键
State As Integer) Form1.Caption = X & "," & Y
19
本章小结:
1. 掌握inputbox、msgbox、print等输入输出函数 2. 理解鼠标、键盘事件的触发机制, 3. 掌握鼠标的MouseDown, MouseMove, MouseUp事件
第
中各参数的含义及编程控制
KeyPress 按下对应某ASCII 字符的键。
第 五
KeyDown 按下键盘的任意键。
章
KeyUp 释放键盘的任意键只有获得焦点的对象才能
够接受键盘事件。
1. KeyPress 事件 在按下与ASCII字符对应的键时将触发KeyPress 事件。
3
KeyPress 事件过程的语法格式是: Sub Object_KeyPress (KeyAscii As Integer) 其中:
启动应用程序,Biblioteka 载和显示窗体。第窗体(或控件)接收事件。
五
用户引发(如键盘操作)
章
系统引发(如定时器事件)
代码间接引发
在引发的事件过程中有代码,执行代码。
应用程序等待下一次事件。
2
一、 键盘事件
在 Visual Basic 中 , 提 供 KeyPress 、 KeyDown 、 KeyUp三种键盘事件,窗体和接受键盘输入的控件都识别 这三种事件。
Print "程序设计"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As
第 五
Integer) Print "Visual Basic";
章 End Sub
大家想想,执行上述程序,会出现什么?
13
Ctrl、Shift、Alt三键组合使用情况如下表:
标 事 件 能 够 区 分 各 鼠 标 按 钮 及 键 盘 的 SHIFT 、 CTRL 、
ALT 键的状态。
例 使用MouseUp 与 MouseDown 和MouseMove 事件,编 写一个在窗体上用鼠标绘图的简单程序。
15
鼠标指针的形状
通过修改MousePointer属性可以改变鼠标指针的形状 Visual Basic提供了16个可选的指针形状 每种指针都对应着一个整型数和Visual Basic常数 Mouse Pointer的属性见实验5表5-3所示
第 间拖放数据。 五 章
18
拖 放 例 子(按钮) 添加一命令按钮并设置其DragMode属性为1
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) Source.Move X, Y
第 End Sub 五 章 Private Sub Form_DragOver(Source As Control, X As Single, Y As Single,
6
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyA And Shift = 1 Then MsgBox "你按下了大写字母A!"
End If
第 End Sub 五 Private Sub Text1_KeyUp(KeyCode As Integer, Shift As 章 Integer)