当前位置:文档之家› VB 第十五讲图形控件和图形方法

VB 第十五讲图形控件和图形方法

圆角矩形 圆角正方形
另:BorderColor:设置形状的边框颜色; FillStyle:填充类别,取值范围:0-7,分别表示不同的填充方式 FillColor:形状的填充颜色
9
工程训练中心

一、图形控件
例 形状控件实例。在窗体上利用形状控件画一个矩形,名称为 Shape1,高和宽分别为1000、1700;再画两个命令按钮,名称分别为 command1、command2,标题分别为“绿色椭圆”,“红色圆”。
m_x = Rnd * 100 m_y = Rnd * 100 m_red = Rnd * 255 m_green = Rnd * 255 m_blue = Rnd * 255 '设置随即坐标m_x,m_y
'设置随机颜色
PSet (m_x, m_y), rgb(m_red, m_green, m_blue)
7
工程训练中心

一、图形控件
例 交换图形。编写程序,交换两个图像框中的图形。
解题思路:交换两个变量的值一般要引入第三个变量进行交换。本题借助于 第三个图像框实现交换。
Image3.Picture = Image1.Picture
Image1.Picture = Image2.Picture Image2.Picture = Image3.Picture
13
工程训练中心

一、图形控件
3、图形方法
例:窗体上随机画带颜色的点,实现满天星效果。 解题思路:利用随机函数Rnd,确定每个点的随机坐标和颜色的随机值
Dim m_x, m_y, m_red, m_green, m_blue As Long Scale (0, 0)-(100, 100) ' 自定义坐标 DrawWidth = 8 '设置点的大小
其中:图形文件名是包括路径、扩展名在内的图形文件名。
如:picture1.picture=loadpicture(“c:\pic1.jpg”)
3
工程训练中心

一、图形控件
1、图片框(PictureBox)
清除图片框中的图形的方法:
⑴在属性窗口中直接删除Delete Picture属性内容; ⑵ 在代码中使用LoadPicture()函数清除图片:
一、图形控件
2、图像框 (Image)
与图片框的区别:
⑴图片框是容器控件,而图像框不能作为容器; ⑵图片框可以利用Print方法显示文本,图像框则不能;
⑶图像框比图片框占用内存少,显示速度快;
⑷图片框用AutoSize属性控制图片框的尺寸自动适应图片的大 小,图像框用Stretch属性对图片进行大小调整;
一、图形控件
1、图片框(PictureBox)
图片框还可以显示用Print方法产生的文本和用图形方法绘制的图形,
如在图片框上显示文字: picture1.print “hello” 清除图片框上的文字信息的方法: 图片框对象名.Cls 如:Pictures.cls
6
工程训练中心

Private Sub Form_Click() P1.Picture = LoadPicture("d:\pic1.jpg") End Sub Private Sub Form_DblClick() P1.Picture = LoadPicture() End Sub
5
工程训练中心

⑵BorderWidth:用于设置线条的宽度,即线条的粗细
⑶BorderColor:由于设置线条的颜色;
11
工程训练中心

一、图形控件
3、图形方法
(1)自定义坐标系: 使用绘图方法,首先确定所画图形的位置,这就需要先确定坐标系。 当新建一个窗体时,新窗体采用缺省坐标系,坐标原点在窗体左上角, 其中窗体:Scale Height 和Scale Width为窗体的实际可用的高度和宽度。 自定义坐标系的方法: [对象名].Scale[(xLeft,yTop)-(xRight,yBottom)] 其中:(xLeft,yTop)、(xRight,yBottom)为对象左上角和右下角坐标
14
'画点
工程训练中心

一、图形控件
2、画直线、矩形方法 Line方法可用于画直线和矩形; 格式:[对象名].Line[Step(x1,y1)]-[Step](x2,y2)[,颜色][,B[F]] 其中: 对象名:窗体或图片框(picturebox); Step:可选项,有该参数时,表示坐标为相对于当前点的坐标,否 则为绝对坐标。 (x1,y1):起点坐标;若省略,则以当前点位起点; (x2,y2):终点或右下角坐标 颜色:直线或矩形的颜色,若省略则使用ForeColor属性指定的颜色 B:若有B,则以点(x1,y1)-点(x2,y2)为对角线填充为矩形; F:在选择参数B后才能选择,有F表示矩形以矩形边框的颜色 填充,否则,矩形用属性Fillcolor和Fillstyle填充;
xleft,ytop
左上角坐标
窗体
右下角坐标
xright,ybottom
12
工程训练中心

一、图形控件
3、图形方法
1、画点方法:Pset 用于在指定的位置以指定的颜色画点。 格式: [对象名].Pset [step] (x,y) [,颜色] 其中:对象名:窗体或图片框(picturebox)的名称; Step:可选项,有该参数,表明所画的点坐标(x,y)是相对坐标 (相对于当前坐标点),没有该参数,点坐标(x,y)为绝对坐标。 颜色:点的颜色,若省略则采用对象的前景色(ForeColor)。 如: Pset(200,300),vbred „在(200,300 )处画一红色的点
16
工程训练中心

一、图形控件
3、画圆方法 Circle方法用于画圆、椭圆、圆弧和扇形; 格式: [对象名].Circle[Step](x,y),radius,[color],[start],[end][,aspect] 其中: 对象名:窗体或图片框; Step:可选项,有该参数时表示坐标为相对于当前点的坐标,否则 为绝对坐标。 (x,y):中心坐标 Radius:半径 Color:边框颜色,若省略则使用ForeColor属性指定的颜色; Start,End:指定弧的起始、终止位置,以弧度为单位, 取值:-2π~2π;负号表示在画弧的同时,还画出圆心到弧的 的端点的连线; Aspect:表示纵轴和横轴的尺寸比,Aspect<1,则表示在x轴方向画 椭圆,Aspect>1,表示在y轴方向画椭圆,默认为1;
Private Sub Command1_Click() Shape1.Shape = 2 Shape1.BorderColor = vbGreen End Sub Private Sub Command2_Click() Shape1.BorderColor = vbRed Shape1.Shape = 3 End Sub
18
工程训练中心
一、 图形控件
1、图片框 (PictureBox)
图片框(PictureBox)主要用来显示图片和图像。 可以显示的图形文件格式:位图(*.bmp);图标(*.ico)、光标(*.cur)、 元文件(*.wmf)、增强的元文件(*.emf)、JPEG文件(*.jpg)、GIF文件 (*.gif); 在图片框中显示图片的方法: ⑴在属性窗口设置Picture属性; ⑵ 在代码中使用LoadPicture()函数载入图片: 图片框对象名.Picture=LoadPicture(“图形文件名”)
8
工程训练中心

一、图形控件
1、形状(Shape)
功能:用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。 形状控件放置到窗体上或图片框上时,原始显示为正方形,通过设置 Shape属性可得到需要的图形。
Shape属性值 0 1 2 形状 矩形(默认) 正方形 椭圆
3
4 5

图片框对象名.Picture=LoadPicture(“”)
或 图片框对象名.Picture=LoadPicture() 图片框自动缩放: 修改AutoSize属性值为True,则图片框自动适应图形的大小。
4
工程训练中心

一、图形控件
例 图片框示例。在窗体上画一个图片框,名为P1,高为1900,宽为 2400,编写适当的事件过程,使得在运行时若单击窗体,则装入名为Pic1.jpg 的图形文件,若双击窗体,则窗体中的图片消失。 解题思路:装入图片的方法:Loadpicture(“d:\pic1.jpg”); 清除图片的方法:Loadpicture(“”)或Loadpicture();
'shape=2为椭圆 '边框为绿色
'边框颜色为红色 'shape=3为圆
10
工程训练中心

一、图形控件
2、直线(Line)
功能:用来画水平线、垂直线或对角线。 通过设置该控件的位置、长度、颜色、宽度、线型等属性可产生不同风 格的、不同颜色的直线。

⑴BorderStyle:用于设置线条的类型,0-7表示不同的线型;
17
工程训练中心

一、图形控件
3、画圆方法
例:用Circle方法画圆。
Scale (0, 0)-(100, 100) '自定义坐标系 Const pi = 3.1415926 Circle (25, 50), 20 „画标准圆 Circle (75, 50), 20, , 1.25 * pi, 1.75 * pi „画圆弧 Circle (75, 50), 20, , -0.25 * pi, -0.75 * pi '画扇形 Circle (50, 70), 20, , -0.25 * pi, 0.75 * pi '画扇形 Circle (25, 50), 20, vbGreen, , , 0.5 '画绿色椭圆,纵横比0.5 Circle (25, 50), 20, vbRed, , , 2 '画红色椭圆,纵横比2
相关主题