第8、9章键盘鼠标事件和图形操作.ppt

上传人:本田雅阁 文档编号:3435420 上传时间:2019-08-25 格式:PPT 页数:66 大小:2.79MB
返回 下载 相关 举报
第8、9章键盘鼠标事件和图形操作.ppt_第1页
第1页 / 共66页
第8、9章键盘鼠标事件和图形操作.ppt_第2页
第2页 / 共66页
第8、9章键盘鼠标事件和图形操作.ppt_第3页
第3页 / 共66页
第8、9章键盘鼠标事件和图形操作.ppt_第4页
第4页 / 共66页
第8、9章键盘鼠标事件和图形操作.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《第8、9章键盘鼠标事件和图形操作.ppt》由会员分享,可在线阅读,更多相关《第8、9章键盘鼠标事件和图形操作.ppt(66页珍藏版)》请在三一文库上搜索。

1、第8章 鼠标和键盘事件,8.1 键盘事件 8.2 鼠标事件 8.3 应用,8.1 键盘事件,KeyPress事件:用户按下并且释放一个会产生ASCII码的键时被触发。 KeyDown事件:用户按下键盘上任意一个键时被触发。 KeyUp事件:用户释放键盘上任意一个键时被触发。,参数,KeyPress事件 Private Sub Form_KeyPress(KeyAscii As Integer) End Sub,参数KeyAscii是按键事件发生后,返回所按键的ASCII码值。,例:用窗体的KeyPress事件书写程序,判断按下的键是否为英文字母,如果是则输出,否则“响铃”。,Private S

2、ub Text1_KeyUp(KeyCode As Integer, Shift As Integer) End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) End Sub,2. KeyDown 和 KeyUp 事件,KeyCode参数返回按键的扫描码。键盘上的每个键均有惟一的扫描码,此参数指示了按键的物理位置。如 “A“ 与 “a“ 是同一个键,故扫描码均为65。但是键盘上的“1”和数字小键盘的“1”就有不同的扫描码,尽管它们生成相同的字符。,Shift参数,判断是否在操作过程中按下了Shift、Ct

3、rl和Alt键,以及以什么样的组合(如果存在)按下这些键。,实际上Shift参数是一个三位二进制数: b2b1b0 b0=1 表示按下Shift键 b1=1 表示按下Ctrl键 b2=1 表示按下Alt键,如果按Shift键,则Shift为1; 如果按 Ctrl键,则Shift为2; 如果按Alt键, 则Shift为4。 应使用这些键值的总和来判断这些组合。例如,同时按下Shift和Alt键时Shift等于5(1 + 4)。,例如,创建一个工程,编写如下代码,实现在小写字母输入状态下,用Shift参数区分输入的字母是大写还是小写,并在窗体上输出相应的字母和KeyCode值。,Private S

4、ub Form_KeyUp(KeyCode As Integer, Shift As Integer) If KeyCode = Asc(“A“) And KeyCode = Asc(“Z“) Then If Shift = 1 Then Print Chr(KeyCode); KeyCode Else Print LCase(Chr(KeyCode); KeyCode End If End If End Sub,小技巧: 一般来说,如果需要检测键盘输入的哪个字符,则选用KeyPress事件;如果需要检测所按的是哪个键,则选用KeyUp或KeyDown事件。,8. 2 鼠标事件,MouseDo

5、wn事件: 按下任意鼠标按钮时发生。 MouseUp事件: 释放任意鼠标按钮时发生。 MouseMove事件: 每当鼠标指针移动到屏幕新位置时发生。,参数,Button是一个三位二进制数b2b1b0,描述鼠标按钮的状态: b0=1表示左键按下或释放 b1=1表示右键按下或释放 b2=1表示中键按下或释放(目前几乎见不到有中键的鼠标器),Shift参数,反映用户在按下鼠标键的同时,按了Shift、Ctrl、Alt这三个控制键中的哪一个键或它们的哪一种组合。,x,y表示鼠标指针的位置,这里用到了接受鼠标事件的对象的坐标系统描述的鼠标指针位置。,例:编写程序,在鼠标左键单击窗体位置显示彩色的“*”,

6、如图所示,当鼠标右键单击窗体时清除窗体信息。,Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then 按下左键则输出* CurrentX = X CurrentY = Y ForeColor = QBColor(Rnd * 16) Print “*“ Else Cls End If End Sub,第九章 图形操作,9.1 图形操作基础 9.2 绘图属性 9.3 图形方法 9.4 图形方法应用 9.5 图形控件,9.1 图形操作基础,

7、9.1.1 坐标系统,1坐标的概念,2坐标刻度与单位 使用缺省刻度单位 选择标准刻度单位,ScaleMode属性设置值,9.1.2 自定义坐标系统,1用坐标属性定义坐标系统 可以使用对象的ScaleLeft、ScaleTop、ScaleWidth 和 ScaleHeight 四个属性,来创建自定义坐标。 例:通过坐标属性定义窗体Form1的坐标系。,例: 如果窗体Froml左上角坐标为(-200,250), 右下角坐标为(300,-150)。则x轴和y轴的正 向分别为( ) A.向右、向下 B. 向左、向上 C. 向右、向上 D. 向左、向下,2使用坐标方法定义坐标系统 使用Scale方法定义

8、坐标系统的格式: 对象名.Scale(x1,y1)(x2,y2) 例:通过使用Scale方法义窗体Form1的坐标系。,返回,9.2 绘图属性,9.2.1 当前坐标,图形输出对象的当前坐标CurrentX、CurrentY 属性用于返回或设置在窗体或图片框中,下一次打印或绘图方法的水平(CurrentX)和垂直(CurrentY)坐标。,9.2.2 线宽,对象名.DrawWidth = size,9.2.3 线型,对象名.DrawStyle = number,FillColor指定填充的颜色,默认的填充颜色与输出对象的ForeColor相同。 FillSytle属性指定填充的图案。,9.2.4

9、 填充,9.2.5 颜色,1颜色属性 BackColor属性 ForeColor属性 BorderColor属性 FillColor属性,2. 颜色函数与颜色整数 使用颜色函数RGB和QBColor,还可以直接使用十进制整数或十六进制整数,返回,可以用&HBBGGRR形式的6位十六进制数或十进制整数描述颜色。十六进制数的左边应加字母H,按照三基色原理,从最低字节到最高字节依次决定红(RR)、绿(GG)和蓝(BB)的量。红、绿和蓝的量分别由一个介于0255(&H00&HFF)之间的数来表示。表示RGB颜色的十进制数值的取值范围0(&HO00000)16,777,215(&HFFFFFF)。 例如

10、:&060000表示深绿色。,可以使用系统提供的描述颜色的常量。 vbBlack &H0 黑色 vbRed &HFF 红色 vbGreen &HFF00 绿色 vbYellow &HFFFF 黄色 vbBlue &HFF0000 蓝色 vbMagenta &HFF00FF 洋红 vbCyan &HFFFF00 青色 vbWhite &HFFFFFF 白色,使用RGB(r,g,b)函数。 RGB(255,0,O)表示红色 RGB(0,255,0)表示绿色 RGB(O,O,255)表示蓝色 RGB(255,255,0)表示黄色 RGB(255,0,255)表示紫色 RGB(0,255,255)表示

11、青色 RGB(O,O,O)表示黑色 RGB(255,255,255)表示白色,使用QBColor()函数。,9.3 图形方法,9.3.1 Line方法,Line方法用于在对象上画直线和矩形。其使用语法格式为: 对象名.Line Step(x1, y1)-Step(x2, y2), color, BF,例:使用Line方法画三角形、矩形框和矩形块。,9.3.2 Circle方法,Circle方法用于在对象上画圆、椭圆、弧或扇形,其语法格式为:,对象名.Circle Step(x, y),半径,color,start,end, aspect,例:使用Circle方法画扇形、画圆、画椭圆。,9.3.

12、3 PSet方法,Pset方法用于在对象上的指定位置,按指定颜色画点。语法格式为: 对象名.PSet Step (x, y), color,返回,例:利用参数方程画正弦曲线。,例:下面程序运行后输出的图形是( ) Private Sub Form_Click() Const angle = 3.14159 / 180 For I = 0 To 360 Step 30 X1 = 1000 + 900 * Cos(angle * I) Y1 = 1000 + 900 * Sin(angle * I) X2 = 1000 + 500 * Cos(angle * I) Y2 = 1000 + 500

13、* Sin(angle * I) Line (X1, Y1)-(X2, Y2) Circle (1000, 1000), 480 Next I End Sub,例:运行下面程序后,按命令按钮Command1,在窗体上显示的结果是: Private Sub Command1_Click ( ) For k = 1 To 10 Col = Int (Rnd * 16) Rad = Int (Rnd * 1000+100) Circle (2000, 1500), Rad, QBColor(Col) Next k End Sub 10个半径不同, 颜色相同,圆心位置相同的圆 B.10个半径相同, 颜

14、色不同,圆心位置相同的圆 C.10个半径不同, 颜色不同,圆心位置相同的圆 D.10个半径不同, 颜色不同,圆心位置不同的圆,例:下列程序运行后,窗体上显示的图形为( ) Private Sub Form_Click() Dim CenterX As Integer, CenterY As Integer CenterX = Form1.ScaleWidth / 2 CenterY = Form1.ScaleHeight / 2 PSet (0, CenterY) For i = 1 To 10 Line -Step(500, -500) Line -Step(0, 500) Next i E

15、nd Sub,A,B,C,D,9.4 图形方法应用,9.4.1 几何形绘制,例:书写程序显示如图所示的图形。,9.4.2 应用鼠标绘图,9.4.2.1 鼠标事件,MouseDown事件: 按下任意鼠标按钮时发生。 MouseUp事件: 释放任意鼠标按钮时发生。 MouseMove事件: 每当鼠标指针移动到屏幕新位置时发生。,例 在窗体上按下鼠标左键并拖动,画出自由曲线如图所示,鼠标左键释放时停止画线,并在画线终点与起点之间自动画出连线,形成封闭区域。按下鼠标右键则清除窗体上内容。,9.5 图形控件,9.5.1 PictureBox(图片框),9.5.2 Image(图像框),9.5.3 Line直线控件,1常用属性 BorderStyle属性 BorderColor属性 BorderWidth属性 X1,X2,Y1,Y2属性,2使用直线控件 使用Line控件在窗体、图片框和框架上,用鼠标拖动绘制直线。,9.5.4 Shape形状控件,1常用属性 Shape属性:设置Shape控件的外观。,BorderColor属性:用于设置边框颜色。 BorderStyle属性:用于设置边框线 型,其设置值与Line控件相同。 BorderWidth属性:用于设置边框线宽。,例: 显示形状控件的6种图形。,返回,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1