(十三)图片框(PictureBox)
用于在运行中执行画图的方法,故占用资源较多。也可显示图形和写入文本,用途比较灵活。
一.图片框的属性:
1.N ame属性:
2.P icture属性:
在设计时通过属性窗口加载指定的图片文件。加载后会产生一个.FRX的文件存放图片。
3.A utoRedraw属性:
设为True时:自动重绘有效。图形和文本存在内存中,图片框重现或移动时,图形和文本会自动刷新。
设为False时:重绘功能无效。图形和文本仅输出到屏幕上,并未存入内存,图片框移动或重现时,不能刷新。
4.A utoSize属性:
设为True时:图片框会自动调整大小来适应图片文件的尺寸。当然图片大小超出窗体大小时,也会被裁剪掉右边和底部的超出部分。
设为False时:图片框大小保持不变,图片的超出部分会被从右边和下边裁剪掉。5.C urrent X和Current Y属性:
决定当前的绘图位置坐标,或返回当前位置的坐标值。
6.F illColor属性:
决定闭合图形中填充图案的颜色。
7.F illStyle属性:
决定闭合图形中填充图案的类型。
0:实心图形。颜色由FillColor属性决定。
1:(缺省)透明。
2:水平线。
3:垂直线。
4:向上对角线。
5:向下对角线。
6:十字交叉线。
7:对角交叉线。
8.B ackColor和ForeColor属性:
9.B orderColor属性:
决定边框的颜色。
10.FontTransparent属性:
设为True时:文字的周围是透明的。(当文字和图形重叠时仅感觉文字写在图形上)设为False时:文字的周围不透明。(当文字和图形重叠时文字以一方块区叠在图形上)11.Align属性:
决定图片框在窗体上的大小显示方式和显示的位置。
0:可以在设计时或在程序中确定图片框的大小和位置。
1:图片框显示在窗体顶部。
2:图片框显示在窗体底部。
3:图片框显示在窗体的左边。
4:图片框显示在窗体的右边。
12.DrawStyle属性:
决定了在Line方法下所画直线的类型。
0:实线(缺省值)
1:虚线
2:点线当DrawWidth属性设置大于1的时候本属性值
3:点划线无效,一律转为缺省值0,画宽度大于1的实线。
4:点划线(双点划线)
5:透明线
6:内实线(凹进)
13.DrawWidth属性:
决定了所画线段的宽度。(包括点的大小)
14.D rawMode属性:
设置或返回绘图的模式。
0:
1:黑色。
2:非或笔(与15相反)。
3:与非笔。背景色和画笔反相,二者共有颜色的组合。
4:非复制笔(与13相反)。
5:与非笔。画笔与显示反相,二者共有颜色的组合。
6:反转。显示颜色的反相。
7:异或笔。画笔与显示颜色的组合,只取其一。
8:非与笔(与9相反)。
9:与笔。画笔和显示二者共有颜色的组合。
10:非异或笔(与7相反)。
11:无操作。输出保持不变,实际上关闭画图方式。
12:或非笔。显示颜色与画笔颜色反相的组合。
13:复制笔。(默认值)ForeColor决定的颜色。
14:或非笔。画笔颜色与显示颜色反相的组合。
15:或笔。画笔颜色与显示颜色的组合。
16:白色。
二.图片框的方法:
1.Cls方法:
清除图片框中所有文本和图形。
2.Print方法:
在图片框中输出字符串文本。
3.Line方法:
(1)格式:
Line [step] [(x1,y1)]–[step] (x2,y2)[,<颜色值>],[B / BF](2)功能:
用画直线的方法来绘制几何图形。
(3)说明:
i.(x1,y1)为起点坐标,(x2,y2)为终点坐标。
若(x1,y1)缺省,则起始位置为当前点的位置。
ii.有
(x1,y1)前有step表示从当前点位置相对位移(x1,y1)的位移量。
iii.选[B]:
表示绘制左上角为(x1,y1),右下角为(x2,y2)的矩形图形。
选B(BoxWindow)时,且(x2,y2)前有step,则表示矩形的左上角坐标为
(x1,y1),宽为x2,高为y2。
iv.选[BF]:
表示以<颜色值>决定的颜色对矩形进行填充。实际上是临时改变了FillColor的
属性。
v.<颜色值>:
决定了闭合图形的填充色。
可以是RGB函数、QBColor(x)函数和&HXXXXXX十六进制颜色码等表述
方式。
例:RGB(255,0,0)、&HOOOOFF、QBColor(3)都表示红色。
缺省时,颜色由ForeColor属性决定。
4.Circle方法:
(1)格式:
Circle[step](x,y),<半径值>[,Color][,Start][,End][,Aspect](2)功能:
在指定的位置,以指定的半径画圆。
(3)说明:
i.(x,y)为圆心位置,<半径值> 决定了圆的半径。
ii.有step选项表示(x,y)为距离当前点的相对位移处为圆心位置。
在当前点为圆心的位置画圆可表示为:
Circle step(0,0),R
iii.[Start][End]:
决定弧线的起点和终点的弧度值,缺省时为0 ~ 2π。
若两者都为负值时,则画出的是扇形。
iv.[Aspect]:
决定了圆的高宽比,可以用来画椭圆。这时的半径值决定了椭圆的长轴的半径。
Aspect的值=1 为正圆
<1 为扁平椭圆
>1 为高而窄的椭圆
5.Pset 方法:
(1)格式:
Pset [step] (x,y)[,Color]
(2)功能:
在指定位置画点。
(3)说明:
(x,y)表示画点的坐标位置。
若有step选项,则(x,y)表示相对于当前点的位移值。
6.Point方法:
(1)格式:
Point [step](x,y)
(2)功能:
返回指定点的颜色值。
(3)说明:
返回的颜色值是四字节的长整型16进制值:HXXXXXXXX
00BBGGRR 第1,2位始终为0 第3,4位为蓝色值
第5,6位为绿色值第7,8位为红色值7.PaintPicture方法:
(1)格式:
PaintPicture <文件名>,x1,y1[,〈宽度1〉,〈高度1〉]
[,x2,y2 ,<宽度2>,<高度2>]
(2)功能:
在任意指定的位置,绘出指定要求的图形。
(3)说明:
〈文件名〉:
可以是对象的Picture属性。用于指定绘制时取用的已作好的图形。
<宽度1>,<高度1> 是绘制图片的尺寸。若为负值可实现水平或垂直翻转。
(解决移动、缩放、翻转等功能)。
缺省时,x2,y2为(0,0),即图形区的左上角坐标,<宽度>,<高度>值缺
省时为图片的源宽度和源高度。
三.有关的知识:
1.添加图片的方法:
(1)设计时的添加:
利用Picture属性,在属性窗口添加。
(2)在程序运行中添加:
用LoadPicture(“文件标识符”)函数。(新图替换老图)
注:LoadPicture()函数表示清除目标位置的图片。
2.保存图片的方法:
SavePictuer[<图片对象名>.]Picture,“<存放图片的文件标识符>”
注:本命令必须在AutoRedraw为True时才能有效执行。
3.文件系统的控件:
(1)驱动器列表框(DriveListBox)
●列表框中缺省显示当前驱动器。单击下拉按钮可重新选择,但选定后必须执行
Change事件中的ChDrive <对象名>.Drive命令后才能改变当前驱动器的实际值。
●<对象名>.Drive属性:
可以返回当前驱动器的值,也可以设置当前驱动器。(其值带分隔符“\”)
(2)目录列表框(DirListBox):
●显示当前驱动器下的目录结构。双击某一目录即显示该目录的所有下级目录。当前
目录用色条标注。
●<对象名>.Path属性:
可以返回当前目录的值,也可以设置当前目录的值。
●在驱动器列表框的Change事件中执行赋值语句:
<目录列表框名>.Path = <驱动器列表框名>.Drive
可以显示出驱动器列表框中选定的驱动器的下级目录。
●ListIndex 属性:
List(-1)表示当前目录
List(-2)表示上级目录
List(-3)表示再上一级目录
…………
List(0)表示当前目录下的第一子目录
List(1)表示当前目录下的第二子目录
…………
●ListCount属性:
返回当前目录下的子目录个数。(Index +1)
●选定当前目录后必须在Change事件中执行:
ChDir <目录列表框名>.Path
命令才能在操作系统级改变当前目录的实际值。
(3)文件列表框(FileListBox):
●显示当前目录下的有关文件。
在目录列表框的Change事件中执行:
<文件列表框名>.Path = <目录列表框名>.Path
可以实现选定目录为当前目录的文件显现。(Path属性只能在运行中设定)
●Pattern属性:
决定显示文件的子集。(由扩展名选择或统配符方式选择)
<文件列表框名>.Pattern = “.xxx[;??.xxx……]”
●FileName属性:
设置或返回所选文件的文件标识符。
●ReadOnly属性:
设为True时:以只读方式打开文件。
●Archives属性:
设为True时:以文档文件方式显示。
●Hidden属性:
设为True时:以隐含文件方式显示。
●Normal属性:
设为True时:以普通文件方式显示。
●System属性:
设为True时:以系统文件方式显示。
●MultiSelect属性:
设为True时:允许一次选定多个文件。