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