Transcript PPT课件

第六章:图形控件和图形方法
图形控件
 图片框控件(PictureBox)
 Picture属性:设置或返回图片框中的图片
 设计时设置:
 运行时动态载入:(演示)
 图片框控件名.Picture=LoadPicture(图片文件名)
 取消图片框中的图片的方法
 图片框控件名.Picture=LoadPicture()
 AutoSize属性:是否设置图片框大小以适应图片大小
 True:自动修改图片框大小以显示全部图片(可能会破坏控件布局)
 False:不修改图片框大小(可能只显示图片一部分或留出空白)
Page
2
图形控件
 图片框控件(PictureBox)
 Print方法
 与Print语句相似,但是输出内容显示在图片框中(演示)
 图形方法:circle、line、pset、point(后面介绍)
 Cls方法
 擦除图片框中的文字、图形,并将输出位置复原到左上角
 不能擦除通过Picture属性设置的图片
 相关的两个属性CurrentX、CurrentY:设置或返回当前输入位置
 实例
 实例1:6-1(图片复制)
 实例2:6-2(图片框的方法演示)
Page
3
图形控件
 图片框控件(PictureBox)
 图片框的事件
 Click、MouseDown、MouseUp、MouseMove等常见事件
 灵活利用这些事件结合loadpicture函数可以做出漂亮的动态按钮
(6-3)
 图片框的第二个功能:作为控件的容器(同框架类似)
 演示利用图片框实现单选按钮分组
Page
4
图形控件
 影像框控件(Image)
 Image控件可以视为简易图片框
 属性
 Picture属性:与图片框的Picture属性相同
 Stretch属性(演示)
 False:自动调整控件大小以显示全部图片
 True:自动调整图片大小以适应控件大小(可能导致图片失真)
 注意和图片框的AutoSize属性的区别
 事件
 与图片框基本相同
Page
5
图形控件
 应用建议
 如果需要作为其他空间的容器,或用来输出文字、绘制图
形,必须采用PictureBox(图片框)
 如果仅仅用来显示图片(如设计图片浏览器、漂亮的图形
按钮等),建议采用Image(影像框),因为它的速度更
快、耗费资源更少。
Page
6
图形控件
 形状控件(Shape)
 属性
 Shape属性:决定图形的形状(P169)
 BorderStyle属性:图形边框样式(P169)
 FillStyle属性:图形填充样式(P169)
 BorderColor属性:边框颜色, BorderStyle<>0时有效
 FillColor属性:填充颜色,FillStyle<>1时有效
 BorderWidth:边框宽度
 直线控件(Line)
Page
7
Visual Basic坐标系
 控件的容器
 能将其他对象置于其中的对象
 Screen
 Form
 PictureBox
 Frame
 容器的坐标
 每个容器都有一个独立的坐标系
 系统的默认坐标系
 原点为左上角
 水平往右为x正方向
 竖直往下为y正方向
 坐标系的刻度单位为Twip
Page
8
Visual Basic坐标系
Picture1.Top
Text1.Top
Picture1.Left
Text1.left
Page
9
Visual Basic坐标系
 改变容器坐标系的Scale方法
 利用Scale方法可以改变默认坐标系(包括原点,x轴y轴
方向,刻度单位)
 格式
 容器名.Scale(x1,y1)-(x2,y2)
 说明
 (x1,y1)为容器左上角在新坐标系中的坐标
 (x2,y2)为容器右下角在新坐标系中的坐标
 一般方法
 在草稿中画出新坐标
 计算出新坐标系统中左上角和右下角的坐标值
 写出Scale方法
Page
10
Visual Basic坐标系
 改变容器坐标系的Scale方法
 练习
 在窗体中的一个图片框(PictureBox1)中建立一个坐标系,要求坐标原
点在图片框中心,x轴正方向为水平向左,y轴正方向为竖直向上,宽度为
100刻度单位,高度为200刻度单位
200
(0,0)
100
Page
11
Visual Basic坐标系
 改变容器坐标系的Scale方法
 与坐标系统相关的几个属性
 ScaleLeft
 ScaleTop
 ScaleWidth
 ScaleHeight
 与Left、Top、Width、Height的区别
 Left、Top、Width、Height的值是以控件所在的容器的坐标系统
为依据
 ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight的值是控件自
身的坐标系统为依据
 实例(6-4)
Page
12
Visual Basic坐标系
 改变容器坐标系的Scale方法
 容器的中心总可以用以下表达式
容器名.scaleleft+容器名.scalewidth/2
容器名.scaletop+容器名.scaleheight/2
 系统可供选择的坐标刻度:scalemode属性
Page
13
图形方法与应用
 画点方法Pset
 格式
 [容器名.]Pset [step](x,y)[,color]
 功能
 在容器的指定坐标位置以指定颜色绘制一个点
 说明
 未指明容器名,默认指当前窗体;未指明颜色,默认为容器的ForeColor;
点的大小由容器控件的DrawWidth属性决定。
 没有Step关键字,则(x,y)是指绝对坐标值,绘图坐标点为(x,y)
 有Step关键字,则(x,y)是指相对坐标值,绘图坐标点为
(CurrentX+x,CurrentY+y)
 绘制完成后,绘图的坐标点成为新的(CurrentX,CurrentY)
 演示
 在图片框上用鼠标画点
 用Pset绘制函数图形(6-5)
Page
14
图形方法与应用
 返回某个点的颜色值
 格式
 容器名.Point (x,y)
 演示
 复制图片(6-6)
 画线、画矩形方法Line
 画线
 容器名.line [(x1,y1)]-[step](x2,y2)[,color]
 说明
 省略(x1,y1),则以(CurrentX,CurrentY)为起点
 没有关键字step,则以(x2,y2)为终点,有关键字Step,则以
(x1+x2,y1+y2)为终点。
 绘制完成后,终点的坐标点成为新的(CurrentX,CurrentY)
 线条粗细取决于DrawWidth属性,如果没有指定Color,颜色为
ForeColor属性
Page
15
图形方法与应用
 画线、画矩形方法Line
 画矩形1
 容器名.line [(x1,y1)]-[step](x2,y2)[,color][,B]
 说明
 在起点坐标和终点坐标为对角点绘制矩形
 以FillStyle、Fillcolor属性指定填充样式和颜色
 矩形边框颜色有Color指定,如果没有指定,为ForeColor属性值
 边框粗细有DrawWidth属性决定
 画矩形2
 容器名.line [(x1,y1)]-[step](x2,y2)[,color][,BF]
 说明
 以画边框的颜色实心填充矩形内部,而与FillStyle、FillColor属性无
关
Page
16
图形方法与应用
 画圆、画圆弧、画椭圆方法Circle
 画圆
 格式:[容器名.]circle [step](x,y),radius,[.color]
 说明
 有Step,圆心位置为(currentX+x,CurrentY+y),否则为(x,y)
 画圆弧
 格式:[容器名.]circle [step](x,y),radius,[.color],start,end
 说明
 Start、End为圆弧起点和终点(单位是弧度),绘制方向为逆时钟方
向,平行于x轴正方向为0弧度
 Start、End如果取负数值,表示在圆心和圆弧端点画一条线
Page
17
图形方法与应用
 画圆、画圆弧、画椭圆方法Circle
 画椭圆(弧)
 格式:
[容器名.]circle [step](x,y),radius,[.color],start,end[.aspect]
 说明
 Aspect表示椭圆纵轴和横轴之比,取值>0
 Aspect<1,radius表示横轴长度
 Aspect>1,radius表示纵轴长度
Page
18
感谢观赏
Page
19