




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 键盘事件 2 鼠标事件 3 图形处理,第10章 键盘与鼠标事件,Visual Basic 程序设计,00:44,鼠标,键盘事件过程,VB应用程序能够响应多种鼠标事件和键盘事件. 利用键盘事件可以编程响应多种键盘操作,也可以解释、处理ASC字符。 可用鼠标或键盘管理长时间的后台任务处理,这就使用户得以向其他应用程序进行切换或中断后台任务处理。,00:44,键盘事件,KeyPress事件 例如 Private Sub Text1_Keypress(KeyAscii As Integer) End Sub KeyAscii是所按键的ASCII码。 例:If KeyAscii=65 And KeyAscii=122 Then KeyAscii=42 42对应 *号 End If,00:44,键盘事件,KeyDown和KeyUp事件 KeyDown和KeyUp事件返回的是“键”(不区分大小写,得到相同KeyCode码) KeyPress事件返回的是“字符”的ASCII码(区分大小写) 例如 Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) End Sub,00:44,Private Sub Form_KeyUp(KeyCode As Integer,Shift As Integer) End Sub 两个参数的含义: 1. KeyCode 含义 2. Shift 含义 (指Shift、Ctrl、 Alt三个转换键的状态),00:44,说明: (一)键事件按下列顺序发生: KeyDown KeyPressKeyUp (二)KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动鼠标,那么将不会触发KeyUp事件。 (三)定义 KeyDown:在控件有焦点的情况下按下键时发生。 KeyPress:在控件有焦点的情况下按下键时发生。 (下面会解释和KeyDown 的区别) KeyUp:在控件有焦点的情况下释放键时发生。,00:44,默认情况下,控件的键盘事件优先于窗体的键盘事件,因此发生键盘事件时,总是先激活控件的键盘事件。如果希望窗体先接收键盘事件,必须把窗体的KeyPreview属性设置为True,否则不能激活窗体的键盘事件。(即KeyDown、KeyPress、KeyUp事件过程结果不显示任何信息),00:44,KeyPress 和KeyDown 、KeyPress之间其他区别,1.KeyPress主要用来捕获数字(包括Shift+数字的符号)、字母(包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、方向键外的ANSI字符。 KeyDown 和KeyUp 通常可以捕获键盘除了PrtScrn所有按键。 2.KeyPress 只能捕获单个字符。KeyDown 和KeyUp 可以捕获组合键。 3.KeyPress 可以捕获单个字符的大小写 4.KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。 5.KeyPress 不区分小键盘和主键盘的数字字符。KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。,00:44,鼠标事件,VB应用程序能够响应多种鼠标事件。例如, 窗体,图片框与图像控件都能检测鼠标指针的位置,并可判定其左,右键是否按下,还能响应鼠标按钮与【Shift】与【 Ctrl】或【Alt】键的各种组合。此外VB应用程序还可同时支持事件驱动的拖放功能和OLE的拖放功能。可用Drag方法连同某些属性及时间来启用诸如拖放控件的操作。,00:44,鼠标事件,00:44,当鼠标指针位于无控件的窗体上方时,窗体将识别鼠标事件。当鼠标指针在控件上方时,控件将识别鼠标事件。如果按下鼠标按钮不放,则对象将继续识别所有鼠标事件,直到用户释放按钮为止。即使此时指针已移离对象,情况也是如此。三种鼠标事件均使用下列参数,00:44,00:44,MouseDown事件,MouseDown事件是三种鼠标事件中作常用的事件。例如,在运行时可用它来调整控件在窗体上的位置,也可用它来实现某些图形效果。按下鼠标按钮时,就可触发Mousedown事件。 鼠标事件被用来识别和响应各种鼠标状态,并把这些状态看作独立的事件,不应将鼠标事件与Click 事件和DblClick事件混为一谈。在按下鼠标按钮并释放时,Click 事件只能把此过程识别为一个单一的操作单击操作。鼠标事件不同于Click 事件和DblClick事件之处还在于鼠标事件能够区分两个鼠标按钮与Shift、Ctrl、Alt键。,00:44,MouseMove 事件,当鼠标指针在屏幕上移动就会发生MouseMove 事件。当鼠标指针处在窗体和控件的边框内, 窗体和控件均能识别MouseMove事件。,00:44,MouseUp事件,释放鼠标按钮时,MouseUp事件就会发生, MouseUp事件与MouseDown ,MouseMove 事件搭配使用,往往相得益彰。 如果能够做到在释放按钮时停止绘图,而在按 住鼠标按钮是从当前位置开始绘制轨迹,则这 个程序将会更有用。为此,应用程序必须响应 三种操作:按下鼠标按钮(MouseDown) ,移动鼠标指针(MouseMove),释放鼠标按 钮(MouseUp),00:44,检测鼠标按钮,编写代码,使之对鼠标事件做出不同的响应,同时 还要考虑用户按下了那个按钮或者按下了Shift、Ctrl、 Alt键,这样才能使应用程序的功能更加完善。为提供 这些选择,可使用Mousedown ,MouseMove和 MouseUp事件过程的Button,Shift参数。 Mousedown ,MouseMove和MouseUp事件用 Button参数判断按下的是哪个鼠标按钮或哪些鼠 标按钮。Button参数是位域参数,其中每位代表 一个状态或条件,这些值被表示成整数。 Button参数P264表10.6 Shift参数见P267表10.7,00:44,鼠标光标的形状,MousePointer属性 P170 表10.9 1.在程序代码中设置: 对象.MousePointer=设置值 2.在属性窗口中设置 3.自定义鼠标光标 MousePointer属性设置为99,然后把图标文件赋给MouseIcon属性。,00:44,鼠标的拖放,属性: DragMode属性 Dragmode=0 人工拖放 Dragmode=1 自动拖放 DragIcon属性 拖动时的图标 事件:DragDrop DragOver 方法: Move Drag,00:44,1.Visual Basic的坐标系统 (1) Visual Basic坐标系和笛卡尔平面坐标系不同 计算机屏幕的坐标系是:,图形处理(选学、一般了解),窗体的左上角是原点 X轴的正向水平向右 Y轴的正向垂直向下 这是计算机领域里的传统之一。,所以:窗体中控件的位置用Left,Top属性描述。Left表示控件 左上角到窗体左边的距离,Top表示控件左上角到窗体上 边的距离。,00:44,以下规则用于VB坐标系统。 1.当移动控件或调整的大小时,使用控件的坐标系统。如果直接在窗体上绘制对象时,窗体就是容器。如果在框架或图片框里绘制控件时,框架或控件则是容器。 2.所有的图形和Print方法使用容器的坐标系统。,00:44,一些用来调整窗体的大小或移动窗体的语句,用特维来表示窗体的位置和大小。当创建用来调整窗体大小或移动窗体的代码时,应先检查Screen对象的Height属性和Width属性,以确保窗体在屏幕上大小合适。 屏幕的左上角总是(0,0)。任何容器的缺省坐标系统,都是从容器的左上角(0,0)坐标开始。,00:44,利用窗体的Scale方法 如:Form1.Scale (-50, 50) - (50, -50) 其中:前一个括号指定左上角坐标,后一个括号指定右下角坐标,1.Visual Basic的坐标系统 (2)建立自己的坐标系 利用到窗体的Scale系列属性,图形处理,ScaleLeft属性:确定对象左边的水平坐标; ScaleTop属性:确定对象顶端的垂直坐标; ScaleWidth属性:确定对象内部水平的单元数目; ScaleHeight属性:确定对象内部垂直的单元数目。 如:ScaleLeft = -50 : ScaleTop = 50 ScaleWidth = 100 : ScaleHeight = -100,00:44,可读系统由控件的ScaleMode属性设置的。ScaleMode的值有: ScaleMode值 意义 0 用户自定义 1 点素(Twip 即“特维”,缺省刻度) 2 点(Point) 3 象素(Pixel,这与屏幕分辨率有关) 4 字符(Character) 5 英寸(Inch) 6 毫米(Millimeter) 7 厘米(Centimeter),1.Visual Basic的坐标系统 (3) 刻度系统,图形处理,1 Inch = 1440 Twips; 1 Centimeter = 567 Twips 1 Inch = 72 Points; 1 字符宽(水平方向)= 120 Twips 1 字符高(垂直方向)= 240 Twips;1 磅= 20 Twips。(磅即Point),00:44,(1) 当前坐标 对象:窗体、图形框、打印机 属性:CurrentX、CurrentY,该属性设计阶段不可用 绝对坐标 :(x,y) 相对坐标:step ( x, y) (2) 线宽 窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。 DrawWidth属性以像素为单位来度量,最小值为1。,2. 绘图属性,图形处理,00:44,(3) 线型(DrawStyle),2. 绘图属性,图形处理,(4) 填充 封闭图形的填充方式由以下两个属性决定: FillColor指定填充图案的颜色,缺省值与ForeColor相同 FillStyle属性指定填充的图案,共有8种内部图案。,DrawStyle设置值 线型 0 实线 1 长划线 2 点线 3 点划线 4 点点划线 5 透明线 6 内实线,00:44,VB采用对象前景色(ForeColor)来绘图 RGB函数 格式:RGB(红,绿,蓝) 其中: 红、绿、蓝三基色的成分使用0255之间的整数,共有 256256256种颜色 QBColor函数 格式:QBColor(颜色码) 其中: 颜色码使用015之间的整数,共有16色,2. 绘图属性,图形处理,(5) 色彩,00:44,4. 形状控件 Shape控件可以用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。 当Shape控件添加到窗体时显示为一个矩形,可通过设置Shape属性确定所需要的几何形状。,3. 画线工具 Line控件可以用来画线。步骤如下: (1) 单击工具箱中的Line图标; (2) 移动鼠标到要画线的起始位置; (3) 按下鼠标左键并拖曳鼠标到要画线结束处,放开鼠标左键。,图形处理,00:44,(1) Line方法 Line方法用于画直线或矩形 格式:对象.LineStep(x1,y1)-(x2,y2),颜色,BF 其中: (x1,y1):为起点坐标 (x2,y2):为终点坐标 Step:表示采用相对坐标 B:表示画矩形 F:表示用画矩形的颜色来填充矩形。,5. 图形方法,图形处理,主要有: Line方法,Circle方法,Pset方法,Point方法,00:44,(2) Circle方法 Circle方法用于画圆、椭圆、圆弧和扇形 格式:对象.CircleStep(x,y),半径,颜色,起始角,终止角,纵向比率 其中:(x,y)为圆心坐标;Step表示采用相对坐标。 (3) Pset方法 Pset方法用于画点 格式:对象.PsetStep(x,y),颜色 其中:(x,y)为点的坐标;Step表示采用相对坐标; 采用背景颜色可清除某个位置上的点。 (4) Point方法 Point方法用于返回指定点的RGB颜色, 格式: 对象.Point(x,y) 其中:(x,y)为点的坐标。,5. 绘图方法,图形处理,00:44,常用绘图方法,.画点 单个像素的控制是简单的图形操作。Pset方法用来设置指定点处像素的色彩: Object. Pset (x,y),Color 参数x和y是单精度型数,所以它们可以接受整数或分数的输入。X、y也可以是任何含有变量的数值表达式。 如果没有包括Color参数,Pset将像素设置为前景色(ForeColor)。,00:44,画直线,若要在两个坐标点之间画一条直线,可使用Line方法的简单形式,其语法如下: object.Line(x1,y1)-(x2,y2),Color 其中Object是可选择的,若省略,此方法将在代码所连接的窗体(当前窗体)上画线。(x1,y1)也是可选的,如果省略这些光标,将把该对象的当前坐标作为起点。当前坐标是由CurrentX和CurrentY属性指定的。就所有的坐标值来说,x和y参数可以是整数,也可以是分数。,00:44,画矩形,VB还提供了简单的画方块(矩形)的方法。当在Line方法中使用B选项时,VB把指定点作为矩形的对角点,可画出一个矩形。语句格式如下: Line(x1,y1)-Step(x0,y0),B 注意,在B之前有两个逗号,表示Color参数被省略了。如果在B之后指定F,可以填充所绘制的矩形(注意,没有B就不能用F)。当使用该选项时,方框总会被填充为实心。例如: Line(500,500)-Step(1000,1000),BF,00:44,.画圆,Circle方法可画出圆形和椭圆形的各种形状。另外,Circle方法还可以画出圆弧(圆的一部分)和锲形饼块。使用变化的Circle方法,可以画出多种曲线。 为了画圆,VB需要给出该圆的圆心位置和它的半径。画出一个圆的语法是: Object.CircleStep(x,y),Radius,Color 方括号表明Object和Step关键字是任选项。如果不指定Object,则认为指定的就是当前的窗体。x,y参数是圆心的坐标,Radius参数是圆的半径。,00:44,在Visual Basic程序里加入图片 图片通常可以放在Form,PictureBox,ImageBox中 用代码加入图片(两种方法): 用LoadPicture函数 如:Image1.Picture = LoadPicture(“c:picdemo.bmp”) 用赋值方式 如:ThisPicture.Picture = ThatPicture.Picture 删除图片的方法: Image1.Picture =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 麻将闯关测试题及答案大全
- 山西省晋中市介休市2024-2025学年八年级下学期期中考试地理试题(含答案)
- 广东省佛山市顺德区2024-2025学年高三二模语文试题(解析版)
- 浙江国企招聘2025宁波人才服务有限公司招聘4人笔试参考题库附带答案详解
- 班主任禁毒课件
- 2025重庆机电控股集团机电工程技术有限公司招聘11人笔试参考题库附带答案详解
- 2025西安核设备有限公司招聘(8人)笔试参考题库附带答案详解
- 2025泰安市泰山财金投资集团有限公司及权属企业公开招聘(21人)笔试参考题库附带答案详解
- 2025河南省云煤二矿招聘60人笔试参考题库附带答案详解
- 2025江西吉泰庐陵开发投资集团有限公司及下属子公司招聘26人笔试参考题库附带答案详解
- 吉林交通职业技术学院单招职业技能测试参考试题库(含答案)
- 家长有远见孩子有格局
- 《第七课沈从文:逆境也是生活的恩赐》课件(黑龙江县级优课)
- 产品开发与产品生命周期管理
- 海洋环境监测概述课件
- JGT266-2011 泡沫混凝土标准规范
- 平安寿险退保 申请书
- 临时用电申请审批表
- 推进中国教育数字化的战略与政策
- 水库导流洞工程土建及安装工程重要施工方案和特殊施工工序的安全控制措施
- 生育服务证办理承诺书
评论
0/150
提交评论