Presentation is loading. Please wait.

Presentation is loading. Please wait.

第8章 键盘、鼠标事件和图形 Visual Basic为用户提供了键盘、鼠标事件用于响 应键盘操作和鼠标操作。在Visual Basic中,大多 数控件都有键盘事件和鼠标事件。这一章将讲述 与键盘和鼠标相关的内容,除此之外,还有通常 在鼠标事件中出现的关于绘制图形方面的内容。

Similar presentations


Presentation on theme: "第8章 键盘、鼠标事件和图形 Visual Basic为用户提供了键盘、鼠标事件用于响 应键盘操作和鼠标操作。在Visual Basic中,大多 数控件都有键盘事件和鼠标事件。这一章将讲述 与键盘和鼠标相关的内容,除此之外,还有通常 在鼠标事件中出现的关于绘制图形方面的内容。"— Presentation transcript:

1 第8章 键盘、鼠标事件和图形 Visual Basic为用户提供了键盘、鼠标事件用于响 应键盘操作和鼠标操作。在Visual Basic中,大多 数控件都有键盘事件和鼠标事件。这一章将讲述 与键盘和鼠标相关的内容,除此之外,还有通常 在鼠标事件中出现的关于绘制图形方面的内容。

2 8.1 键盘事件 键盘事件共有三种事件,分别为KeyPress (敲击 键盘)事件、KeyDown(按键被按下)事件和 KeyUp(按键被松开) 事件。KeyPress事件当敲 击键盘时触发;KeyDown事件当键盘上的按键被 按下时触发;KeyUp事件则当键盘上按下的键被 松开时触发。

3 ASCII码 ASCII是美国标准信息交换码 (American Standard Code for Information Interchange) 的缩写。码值从 0 到 255,代表了字母、数字、标点符号和其他字 符。ASCII 码是一种标准化的编码,用以在计算 机之间或计算机与外围设备之间交换信息。

4 处理“敲击键盘” 当用户敲击键盘上的有ASCII相对应的键时, KeyPress 事件就会被触发。Visual Basic中能够得 到焦点的控件都能够响应该事件。例如,窗体、 图片框、文本框、按钮等等,下面通过文本框的 KeyPress 事件来说明该事件。首先,在窗体上画 出一个文本框Text1,然后双击其打开代码编辑器 窗口。在过程框中选择“KeyPress”后,代码编辑 区内就会出现该事件的过程头和过程尾,(具体 内容请参照本书)

5 处理“按键被按下”和“按键被松开” KeyDown事件在键盘上的某个键被按下的一刹那 触发,而KeyUp 事件是在松开(抬起)按键时被 触发。其实,这两个事件可以说是KeyPress (敲 击)动作的分解,因为KeyPress包括按下键和松 开键两个动作。象KeyPress事件一样,Visual Basic中的大部分控件都能接收这两个事件。(具 体内容请参照本书)

6 应用案例——使用方向键移动坦克 【例 8.4】如图8.3所示,在窗体中画一个图片框 将其名称设置为picGrand,在图片框内部再画一 个图像框并起名叫imgTank。程序运行的效果是: (具体内容请参照本书)

7 8.2 鼠标事件 鼠标事件一共有五个(不包括托放事件),分别 是Click、DblClick、MouseDown、MouseUp和 MouseMove。前面的章节中已经讲述过关于Click、 DblClick事件的内容。本节主要讲述后面三个事 件。 Click、DblClick事件只能识别鼠标单击或双击动 作,而通过MouseDown,MouseUp,MouseMove 事件可以使应用程序对鼠标位置及状态的变化作 出响应。Viusal Basic中窗体和大多数控件都能够 识别这些事件。

8 处理“鼠标键被按下” 按下鼠标键的一刹那会触发MouseDown 事件,其 中鼠标键包括鼠标左键、中键(滑轮)和右键。

9 处理“鼠标键被松开” MouseUp事件在松开鼠标键的一刹那被触发。 MouseUp 事件也有Button、Shift、X、Y等4个参 数,其解释意义和MouseDown事件的相同。通常, 编程人员都将菜单弹出语句写在该事件里,详细 内容在本书第9章讲述。在此可以做个很小的试验, 在Windows的桌面上按下鼠标右键不要松开,这 时不会有弹出式菜单出现,而当你松开鼠标右键 时弹出式菜单就出现了,这就说明程序写在了 MouseUp 事件里,而并没有写在MouseDown事件 内。其原因是如果菜单弹出程序写在了 MouseDown事件内,有时会屏蔽掉正常的鼠标选 择功能。(具体内容请参照本书)

10 8.2.3 处理“鼠标移动” MouseMove事件在鼠标移动时被触发。其格式为:
处理“鼠标移动” MouseMove事件在鼠标移动时被触发。其格式为: Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)(具体内容请参 照本书)

11 8.3 拖放 Visual Basic中除了如前所述的鼠标事件可以完成很多功能 以外,实际上还有一种操作方法可以用来完成某些功能, 即拖放操作——使用鼠标器将对象从一个地方拖放到另一 个位置再放下。在整个“拖放”操作过程中,用户首先在 源对象上按下鼠标左键不放,然后把源对象拖放到目标对 象上释放(松开)鼠标键。为了有助于理解这种拖放,可 以把整个拖放过程分解成两个操作:一个是发生在源对象 的“拖”操作;另一个是发生在目标对象上的“放”操作, 即把源对象“放”在目标对象上。在字处理程序中,拖放 操作的用途之一就是将文本从一个地方移到另一个地方。 另一个用途就是将不需要的东西拖到“回收站” 里,从而 在屏幕上将其清除。

12 拖放操作实例——垃圾桶的实现 通过两个事件过程和少量属性设置就可以控制拖 放操作。将某对象的DragMode 属性设置为1,用 户就可以拖动该对象了。使用DragIcon属性可以 指定对象拖动过程中鼠标指针的形状。当一个源 对象被放在目标对象上时,就会触发目标对象的 DragDrop事件。当某对象被拖动并经过窗体中的 其他对象时,就会触发被经过对象的DragOver事 件。下面通过一个实例说明在程序中使用拖放操 作的用法。(具体内容请参照本书)

13 OLE拖放操作 OLE拖放是Visual Basic 应用程序中添加的最强大、 最有用的功能之一,利用它可以在控件和控件之 间、在控件和其它 Windows 应用程序之间拖动文 本和图形。Visual Basic中的大部分控件都支持 OLE拖放,但默认状态下控件的OLEDropMode属 性被设置为0,也就是不允许拖放。如果要使用 OLE拖放功能,必须先把OLEDropMode属性设置 为1,这样控件才成为接受文件拖放的一个OLE容 器。OLEDragMode属性决定了控件是自动还是需 要手工实现“拖”操作。为了方便操作可以将其 设置为1,让其自动实现“拖”操作。(具体内容 请参照本书)

14 8.4 图形 Visual Basic给用户提供了一些图形控件,用户可 以利用这些图形控件让自己的窗体界面更加出彩。 同时,Visual Basic也给用户提供了一些绘制图形 的语句,例如Pset、Line、Circle等,利用这些语 句用户甚至可以编写与Windows自带的画图软件 相仿的画图程序。

15 直线控件 直线(Line)用来在窗体、框架或图片框中创建 简单的线段。通过属性设置可控制直线的位置、 长度、颜色和样式来定义应用程序的外观。(具 体内容请参照本书)

16 形状控件 形状(Shape)控件可以在窗体,框架或图片框中 创建矩形、正方形、椭圆形、圆形、圆角矩形或 圆角正方形。可以设置形状的样式、颜色、填充 样式、边框颜色和边框样式等。形状的常用属性 有: 除了BorderColor、BorderStyle和BorderWidth属性 与直线对应的属性相同外,

17 应用案例——绘制圆柱体 (具体内容请参照本书)

18 用PSet方法编写画刷程序 PSet方法可以在窗体或图片框指定的位置用给定 的色彩画一个“点”。点的大小由对象的 DrawWidth属性指定。PSet方法的使用格式如下: [窗体]或图片框.PSet[Step](x,y)[,color] (具体内容请参照本书)

19 8.4.5 用Line方法绘制直线 Line方法用于在窗体或图片框对象上画直线和矩 形。绘制直线时,应给出起点和终点坐标。
[窗体]或图片框.Line [[Step](x1,y1)]- [Step](x2,y2)[,color] (具体内容请参照本书)

20 用Line方法绘制矩形 用Line方法绘制矩形时与使用Line方法绘制直线 时相比,多了两个参数B和F。Line方法绘制矩形 的格式如下: 对象.Line[[Step](x1,y1)]-[Step](x2, y2)[,color],[B[F]](具体内容请参照本书)

21 用Circle 方法画圆或椭圆 Circle方法可用于在窗体、图片框或打印机上绘制 圆、椭圆、圆弧及扇形等图形。前面介绍的属性 DrawWidth,DrawStyle等在Circle方法中也同样适 用。(具体内容请参照本书)

22 用Circle 方法画圆弧及扇形 绘制弧和扇形时仍使用Circle方法。弧与扇形既有 相同点,也有不同点。弧可以视为由圆或椭圆的 边线中截取的一部分,而扇形还要在弧的基础上, 从弧的两端再分别画一条到圆心的直线,它是封 闭的图形。绘制弧和扇形时使用的格式如下: 对象.Circle [Step](x,y),radius[,color][start,end][,aspect](具体内 容请参照本书)

23 用PaintPicture方法旋转图形 使用PaintPicture方法,可以在窗体、图片框和 Printer对象上的任何地方绘制图形。也可以通过 使用负的目标高度值 (height1) 和 / 或目标宽度值 (width1) ,可以水平或垂直翻转位图。 该方法只能对用Picture属性、LoadPicture函数设 置的图形进行操作,用绘图方法绘制的图形在没 有存储成图形文件前不能用其操作。其使用格式 如下: object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode

24 重绘图形和画笔模式 (具体内容请参照本书)


Download ppt "第8章 键盘、鼠标事件和图形 Visual Basic为用户提供了键盘、鼠标事件用于响 应键盘操作和鼠标操作。在Visual Basic中,大多 数控件都有键盘事件和鼠标事件。这一章将讲述 与键盘和鼠标相关的内容,除此之外,还有通常 在鼠标事件中出现的关于绘制图形方面的内容。"

Similar presentations


Ads by Google