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