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;

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型變數);

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;

相關詞條

熱門詞條

聯絡我們