rect这个对象是用来存储成对出现的
参数,比如,一个矩形框的左上角坐标、宽度和高度,RECT结构通常用于Windows编程。
RECT类
句法
class Rect
成员表
基本介绍
结构
rect结构定义了一个矩形框左上角以及右下角的坐标。
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT;
成员
left : 指定矩形框左上角的x坐标
top: 指定矩形框左上角的y坐标
right: 指定矩形框右下角的x坐标
bottom:指定矩形框右下角的y坐标
备注:
当rect传递给
fillrect函数时,该矩形框将被填充满,但不包括右栏和底行的像素。
该结构与rectl结构是同一结构。
特点
----RECT既是个特别的
数据结构,又是个函数,他的作用就是定义一个矩形区域对象,而作为函数使用时他能用两个属性(Tpiont型)指明区域范围,同时也可分解成四个单一的变量类型(Integer型),即:
topleft:左上角坐标(Tpiont型变量);
bottomright:右下角坐标(Tpiont型变量);
bottomright.x或right:右下角横坐标;
bottomright.y或bottom:右下角纵坐标。
----例如,下面
三种方法定义一个相同的RECT变量:
Rect(10,10,110,210);
topleft:=Piont(10,10);
bottomright:=Point(110,210);
left:=10;top:=10;right:=110;Bottom:=210;
----下面的代码在Form1窗体上定义一个RECT矩形并用红色填充:
var
begin
NewRect := Rect(20, 30, 50, 90);
Form1.Canvas.Brush.Color := clRed;
Form1.Canvas.FillRect(NewRect);
end;
----从上面能看出,RECT只是个通用变量,他并不属于所有控件本身,定义之后可由所有具有CANVAS属性的控件使用,以指明某控件表面的一个矩形区域,并且程式运行过程中可随意修改尺寸和位置。
操作命令
Rect(x1,y1,x2,y2):定义Rect区域范围。
FillRect(rect:Trect):用填充色填充Rect区域。
FloodFill:用填充色填充Rect之外区域。
textrect(Rect:TRect;X,Y:Integer;constText:
string):在Rect对象中显示文本,其中的X、Y为显示文本的坐标值,是相对于画布的坐标而不是相对于RECT的坐标;const为显示的字符个数;string为待显示的
字符串,只有在RECT内的字符才能显示出来,超出部分不显示。
stretchdraw(constRect:TRect;Graphic:TGraphic):把
图像文件填充到Rect之中,并且图像按RECT的尺寸自动伸缩,其中的Graphic可为BMP或ICO等图像资源。
font.color:定义画布上显示文字的颜色。
Copyrect(Dest:TRect;Canvas:Tcanvas;Source:TRect):把图像从一个矩形中拷到另一个矩形之中,并且按目标矩形尺寸自动伸缩,其中,Dest为目标画布矩形,Canvas为源画布,Source为源矩形。
----由于上述命令均是基于画布本身使用的,所以具体使用时必须加上控件及画面属性,例如下面的代码:
var
TheRect: TRect;
begin
TheRect.Top := 10;
TheRect.Bottom := 100;
TheRect.Right := 100;
Form1.Canvas.TextRect(TheRect,0,0,’’Hello,world!’’);
end;