分类:
2010-07-27 14:10:12
----Delphi
为用户提供了一个方便的绘图环境,即某些控件的CANVAS属性(画布)。用户可以把某些控件的表面作为一张画布,在上面绘制各种图形或显示图像,但在
CANVAS的使用过程中少不了一个特殊对象,那就是矩形RECT,灵活使用它会完成很多特殊的功能,为Delphi编制的Windows程序增加活力。 RECT的特点 ----RECT既是一个特殊的数据结构,又是一个函数,它的作用就是定义一个矩形区域对象,而作为函数使用时它可以用两个属性(Tpiont型)指明区域范围,同时也可分解成四个单一的变量类型(Integer型),即: topleft:左上角坐标(Tpiont型变量); bottomright:右下角坐标(Tpiont型变量); topleft.x或left:左上角横坐标; topleft.y或top:左上角纵坐标; 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 NewRect: TRect; begin NewRect := Rect(20, 30, 50, 90); Form1.Canvas.Brush.Color := clRed; Form1.Canvas.FillRect(NewRect); end; ----从上面可以看出,RECT只是一个通用变量,它并不属于任何控件本身,定义之后可由任何具有CANVAS属性的控件使用,以指明某控件表面的一个矩形区域,并且程序运行过程中可随意修改尺寸和位置。 RECT操作命令 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.size:定义画布上显示文字的尺寸。 font.color:定义画布上显示文字的颜色。 textwidth:返回字符串的长度。 textheight:返回字符串的高度。 Brush.Color:定义画布的填充颜色。 Copyrect(Dest:TRect;Canvas:Tcanvas;Source:TRect):把图像从一个矩形中拷到另一个矩形之中,并且按目标矩形尺寸自动伸缩,其中,Dest为目标画布矩形,Canvas为源画布,Source为源矩形。 ----由于上述命令均是基于画布本身使用的,所以具体使用时必须加上控件及画面属性,例如下面的代码: var TheRect: TRect; begin TheRect.Top := 10; TheRect.Left := 10; TheRect.Bottom := 100; TheRect.Right := 100; Form1.Canvas.TextRect(TheRect,0,0,'Hello, world!'); end; |
chinaunix网友2010-07-27 14:12:30
RECT结构及其操作展示 http://dev.firnow.com/course/3_program/c++/cppsl/20100111/188758_2.html delphi Trect类 http://hi.baidu.com/yhlllq/blog/item/e65edf3bc32a2cf83a87cea1.html