複製鏈接
請複製以下鏈接發送給好友

RECT

鎖定
rect這個對象是用來存儲成對出現的參數,比如,一個矩形框的左上角座標、寬度和高度,RECT結構通常用於Windows編程。
中文名
矩形
外文名
RECT
應    用
Windows編程
句    法
class Rect

目錄

RECTRECT類

RECT句法

class Rect

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結構

rect結構定義了一個矩形框左上角以及右下角的座標。
typedef struct _RECT {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT, *PRECT;

RECT成員

left : 指定矩形框左上角的x座標
top: 指定矩形框左上角的y座標
right: 指定矩形框右下角的x座標
bottom:指定矩形框右下角的y座標
備註:
當rect傳遞給fillrect函數時,該矩形框將被填充滿,但不包括右欄和底行的像素。
該結構與rectl結構是同一結構。

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;