RECT函数

        RECT: rect这个对象是用来存储成对出现的参数,比如,一个矩形框的左上角坐标、宽度和高度,RECT结构通常用于Windows编程。

        RECT类:

        class Rect:

构造函数

描述

Rect::Rect()

创建一个矩形对象,矩形左上角的横坐标、纵坐标以及矩形的宽度、高度均为零。这是默认的构造函数

Rect::Rect(point&,size&)

创建一个矩形对象,用Point对象来初始化矩形左上角的横坐标和纵坐标,用size对象来初始化矩形的宽度和高度(Size(width,height) 不要弄反)

Rect::Rect(INT,INT,INT,INT)

创建一个矩形对象,通过使用四个整数来初始化矩形左上角的横坐标、纵坐标以及右下角的横坐标、纵坐标(不要弄反)(cocos2d中的rect参数是(x, y, width, height),第三第四个参数分别是矩形的宽和高)

类成员函数

描述

Rect::Clone

该函数用来创建一个与当前矩形对象相同的矩形对象

Rect::contains(point&)

该函数用来决定该点是否在此矩形框内

Rect::contains(rect&)

该函数用来决定另一个矩形框是否在这个矩形框内

Rect::contains(INT,INT)

该函数用来决定点(x,y)是否在此矩形框内

Rect::equals

该函数用来判定量矩形对象是否相等

Rect::getbottom

该函数用来获取矩形框底部边缘的y值

Rect::getbounds

该函数用来为这个矩形框创建一个副本

Rect::getleft

该函数用来获取矩形框左边缘的x值

Rect::getlocation

该函数用来获取矩形框左上角的坐标

Rect::getright

该函数用来获取矩形框右边缘的x值

Rect::getsize

该函数用来获取矩形框的宽度和高度

Rect::gettop

该函数用来获取矩形框上边缘的y值

Rect::inflate(INT,INT)

该函数通过dx在左右边框上扩大该矩形框,通过dy在上下边框上扩大该矩形框

Rect::inflate(point&)

该函数通过point.x的值在左右边框上来扩大该矩形框,通过point.y的值在上下边框上来扩大该矩形框

Rect::intsect(rects&;rects&;rects&)

该函数用来确定两个矩形框的交集,并将这一结果储存在一个rect对象中

Rect::intsect(rects&)

该函数用来将此矩形框与另一矩形框的交集来替换这一矩形框

Rect::intersectwith

该函数用来判断该矩形框是否与另一个矩形框相交

Rect::isemptyarea

该函数用来该矩形框是否为空

Rect::offset(INT,INT)

该函数用来移动此矩形框,通过水平的移动dx距离,以及垂直移动dy距离

Rect::offset(point&)

该函数用来水平地移动该矩形框point.x距离,以及垂直地移动该矩形框point.y距离

Rect::union

该函数用来决定两个矩形的合并,并将结果保存在一个rect对象中

 RECT

结构

rect结构定义了一个矩形框左上角以及右下角的坐标。

typedef struct _RECT {

LONG left;    //指定矩形框左上角的x坐标

LONG top;    //指定矩形框左上角的y坐标

LONG right;    //指定矩形框右下角的x坐标

LONG bottom;  //指定矩形框右下角的y坐标

} RECT, *PRECT;




成员

left : 指定矩形框左上角的x坐标

top: 指定矩形框左上角的y坐标

right: 指定矩形框右下角的x坐标

bottom:指定矩形框右下角的y坐标

 备注:

当rect传递给fillrect函数时,该矩形框将被填充满,但不包括右栏和底行的像素。

该结构与rectl结构是同一结构。

特点

----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(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;

你可能感兴趣的:(windows,基础,wpf,p2p,linq)