程序设计基础——Visual Basic教程 教学课件 ppt 作者 周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)

上传人:E**** 文档编号:89365947 上传时间:2019-05-24 格式:PPT 页数:92 大小:662.51KB
返回 下载 相关 举报
程序设计基础——Visual Basic教程 教学课件 ppt 作者  周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)_第1页
第1页 / 共92页
程序设计基础——Visual Basic教程 教学课件 ppt 作者  周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)_第2页
第2页 / 共92页
程序设计基础——Visual Basic教程 教学课件 ppt 作者  周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)_第3页
第3页 / 共92页
程序设计基础——Visual Basic教程 教学课件 ppt 作者  周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)_第4页
第4页 / 共92页
程序设计基础——Visual Basic教程 教学课件 ppt 作者  周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《程序设计基础——Visual Basic教程 教学课件 ppt 作者 周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)》由会员分享,可在线阅读,更多相关《程序设计基础——Visual Basic教程 教学课件 ppt 作者 周黎 钱瑛 周阳花 第3章 Visual Basic界面设计(下)(92页珍藏版)》请在金锄头文库上搜索。

1、,第3章 Visual Basic界面设计(下),学习重点,键盘鼠标事件和拖放。 菜单设计。 常用ActiveX控件介绍。 图形和多媒体制作。,3.1 键盘和鼠标事件 3.2 拖 放 3.3 菜 单 设 计 3.4 常用ActiveX控件 3.5 图 形 绘 制 3.6 多媒体处理,本章内容,3.1 键盘和鼠标事件,3.1.1 键盘事件,键盘事件过程的一般格式如下:,Private Sub 对象名_ KeyPress(KeyAscii As integer) 程序代码 End Sub Private Sub 对象名_KeyDown(KeyCode As Integer,Shift As Int

2、eger) 程序代码 End Sub Private Sub 对象名_KeyUp(KeyCode As Integer,Shift As Integer) 程序代码 End Sub,3.1 键盘和鼠标事件,格式说明如下: (1)若为窗体的键盘事件,则对象名处应改为“Form”。 (2)KeyPress事件过程的参数只有一个,就是KeyAscii参数,它是一个整数,用来返回用户所按键的ASCII码。利用该参数可以判断出用户按的是哪一个键。 (3)KeyDown和KeyUp事件过程的参数相同。其中KeyCode参数是一个键的扫描码,Shift参数是事件发生时反映Shift键、Ctrl键和Alt键的

3、按键状态的一个整数。,3.1 键盘和鼠标事件,1KeyPress事件,KeyAscii参数将获得所按键的ASCII码值。 “A” 65 “a” 97 “0” 48,3.1 键盘和鼠标事件,例3-1,Private Sub Text1_KeyPress(KeyAscii As Integer) Dim x As Integer If KeyAscii = 13 Then If Len(Text1.Text) = 1 And Text1.Text = “a“ And _ Text1.Text Asc(“z“) Then Text2.Text = Chr(x + 1) Else Text2.Text

4、 = Chr(x + 1 - 26) Else Text2.Text = “数据非法!“ End If End If End Sub,2KeyDown事件和KeyUp事件,(1)KeyCode参数,KeyCode表示按下的物理键。 大写字母和小写字母使用同一个键,它们的KeyCode值相同,为大写字母的ASCII码值。 大键盘上的数字键与数字键盘上相同数字的键不是同一个键,它们的KeyCode是不一样的。 对于有上档字符和下档字符的键,其KeyCode为下档字符的ASCII码值。,3.1 键盘和鼠标事件,(2)Shift参数,3.1 键盘和鼠标事件,例3-2 编程判断窗体上按下的键是否为大写字

5、母键。,Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = Asc(“A“) And KeyCode = Asc(“Z“) Then If Shift = 1 Then Print “你按下的是大写字母“ & Chr(KeyCode) End If End If End Sub,3.1.2 鼠标事件,3.1 键盘和鼠标事件,Private Sub对象名_MouseDown(Button As Integer,Shift As Integer, _ X As Single,Y As Single)

6、 程序代码 End Sub Private Sub 对象名_MouseUp(Button As Integer,Shift As Integer, _ X As Single,Y As Single) 程序代码 End Sub Private Sub 对象名_MouseMove(Button As Integer,Shift As Integer, _ X As Single,Y As Single) 程序代码 End Sub,鼠标事件过程的形式如下:,3.1 键盘和鼠标事件,格式说明如下: (1)与Click事件和DblClick事件过程不同,在这3个事件过程中,含有Button、Shift

7、、X、Y 4个参数。X和Y参数是鼠标当前位置,Shift参数同键盘事件中的说明。 (2)Button参数用来判断用户按下的是鼠标的哪个键,该参数是一个16位整数,其低3位如图3-3所示,最低位L表示左键,R表示鼠标右键,M表示鼠标中间键。当按下某个键时,相应的位被置1,否则为0。,3.1 键盘和鼠标事件,Button参数的取值及含义,3.1 键盘和鼠标事件,例3-3 利用鼠标事件编写一个画矩形的程序。,Dim lx As Single, ly As Single, flag As Boolean 模块级变量(lx,ly)存放矩形左上角坐标,flag用来标识绘制状态 Private Sub Fo

8、rm_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) lx = X: ly = Y:MousePointer = 99 MouseIcon = LoadPicture(App.Path + “CROSS03.CUR“) flag = True End Sub,(a)鼠标移动时的界面 (b)鼠标左键被释放后的界面,Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single)

9、If flag = True Then Cls: DrawStyle = 2 Line (lx, ly)-(X, Y), , B End If End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Cls : DrawStyle = 0 Line (lx, ly)-(X, Y), , B MousePointer = 0 flag = False End Sub,3.1 键盘和鼠标事件,3.2 拖 放,3.2.1 与拖放有关的属性、方法和事件,1属性,(

10、1)DragMode属性, 取值为0:表示手动拖放。 取值为1:表示自动拖放 。,(2)DragIcon属性,在拖动一个对象的过程中,并不是移动对象本身,而是移动代表对象的图标。,3.2 拖 放,2方法,Drag方法的格式如下:,对象名. Drag n,格式说明: 不管控件的DragMode属性如何设置,都可以用Drag方法来人为地启动或停止一个拖放过程。n可以取值为0、1或2。 取值为0表示取消指定控件的拖放。 取值为1表示当Drag方法出现在控件的事件过程中,允许拖放指定的控件。 取值为2表示结束控件的拖动,并发出一个DragDrop事件。,3.2 拖 放,3事件,Private Sub

11、对象名_DragDrop(Source As Control, X As Single, Y As Single) 程序代码 End Sub,(2)DragOver事件,Private Sub 对象名_DragOver(Source As Control, X As Single, _ Y As Single, State As Integer) 程序代码 End Sub,(1)DragDrop事件,DragDrop事件是在一个完整的拖放动作(即将一个控件拖动到目标对象上,并释放鼠标按钮)完成,或在使用Drag方法并将其动作参数设置为2时触发的。,DragOver事件是当拖放操作正在进行时发生

12、的,用于图标的移动。鼠标指针的位置决定接收此事件的目标对象。,3.2 拖 放,格式说明: (1)DragDrop事件中有3个参数。其中Source参数是一个对象变量,类型为Control,该参数含有被拖动对象的属性;参数X,Y是松开鼠标键放下对象时鼠标所在的坐标位置。 (2)DragOver事件中有4个参数。其中Source参数的含义同前;X,Y是拖动时鼠标的坐标位置;State参数是一个整型值,表示控件的转变状态。可以有3种取值。 取值为0表示鼠标光标正在进入目标对象的区域。 取值为1表示鼠标光标正在退出目标对象的区域。 取值为2表示鼠标光标正位于目标对象的区域内。,3.2 拖 放,3.2.

13、2 自动拖放,例3-4 编程实现自动拖放。,Private Sub Form_Load() Picture1.Picture = LoadPicture(App.Path + “MOON02.ico“) Picture2.Picture = LoadPicture(App.Path + “MOON04.ico“) Picture1.DragIcon = LoadPicture(App.Path + “MOON03.ico“) End Sub,Private Sub Picture2_DragDrop(Source As Control, X As Single, Y As Single) Pi

14、cture1.Picture = LoadPicture(App.Path + “MOON04.ico“) Picture2.Picture = LoadPicture(App.Path + “MOON02.ico“) End Sub,(a)拖放前界面 (b)拖放时界面 (c)拖放后界面,DragMode属性设置为“1-Automatic”,3.2.3 手动拖放,例3-5 编程实现手动拖放。,(a)初始界面 (b)“选对”界面,DragMode属性为默认值“0-Manual”,3.2 拖 放,Dim flag1 As Boolean, flag2 As Boolean 两个标志变量分别用来标识

15、两个图像框是否被拖动 Private Sub Form_Load() Image1.Picture = LoadPicture(App.Path + “flagFLGUSA02.ico“) Image2.Picture = LoadPicture(App.Path + “flagFLGUK.ico“) End Sub,Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) flag1 = True flag2 = False Image1.Drag 1 Image

16、1.DragIcon = LoadPicture(App.Path + “FlagFLGUSA02.ICO“) End Sub,Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As Single) flag1 = False imageq.Drag 2 手动拖放结束 End Sub,Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) If flag1 = True Then 若拖动的是第1个图像框 Image1.Move X, Y If X = Shape2.Left And X = Shape2.Top And Y = Shape2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号