VC中CRect類的簡單介紹

2022-04-01 14:19:06 字數 2218 閱讀 7961

crect

crect類與windows rect結構相似,並且還包括操作crect物件和windows rect結構的成員函式。

在傳遞lprect,lpcrect或rect結構作為引數的任何地方,都可以傳遞crect物件來代替。

注意:這個類是從tagrect結構派生而來的。(tagrect是rect結構的不太常用的別名。)這意味著rect結構的資料成員(left,top,right,和bottom)也是crect的可訪問資料成員。

乙個crect包含用於定義矩形的左上角和右下角點的成員變數。

當指定乙個crect時,必須謹慎地構造它,以使它符合規範——也就是說,使其左座標值小於右座標值,使頂座標值小於底座標值。例如,左上角為(10,10),右下角為(20,20)就定義了乙個符合規範的矩形,但是左上角為(20,20)而右下角為(10,10)的值就定義了乙個不符合規範的矩形。如果矩形是不符合規範的,則crect的許多成員函式都會符合不正確的結果。(參見crect::normalizerect可以得到這些函式的列表。)在你呼叫乙個要求符合規範的矩形的函式之前,你可以通過呼叫normalizerect函式來使不符合規範的矩形成為符合規範的矩形。

當用成員函式cdc::dptolp和cdc::lptodp來處理crect時要小心。如果顯示環境的對映模式y-extent是負的,就像在mm_loenglish中一樣,則cdc::dptolp將轉換crect,以使它的頂部座標大於底部座標。然後像height和size這樣的函式將返回負值作為轉換後的矩形的高度,則此矩形將是不符合規範的。

當使用過載的crect操作符時,第乙個運算元必須是乙個crect;第二個運算元可以是乙個rect結構或乙個crect物件。

#include

請參閱:cpoint, csize, rect

crect類成員

構造 crect 構造乙個crect物件  

運算 width 計算crect的寬度  

height 計算crect的高度  

size 計算crect的大小  

topleft 返回crect的左上角點  

bottomright 返回crect的右下角點  

centerpoint 返回crect的中心點  

isrectempty 確定crect是否是空的。如果crect的寬度和/或高度為0,則它是空的  

isrectnull 確定crect的top,bottom,left,和right是否都等於0  

ptinrect 確定指定的點是否在crect之內  

setrect 設定crect的尺寸  

setrectempty 設定crect為乙個空的矩形(所有的座標都等於0)  

copyrect 將乙個源矩形的尺寸拷貝到crect  

equalrect 確定crect是否等於給定的矩形  

inflaterect 增加crect的寬度和高度  

deflaterect 減少crect的寬度和高度  

normalizerect 使crect的高度和寬度返回規範  

offsetrect 將crect移動到指定的偏移  

subtractrect 從乙個矩形中減去另乙個矩形  

intersectrect 設定crect等於兩個矩形的交集  

unionrect 設定crect等於兩個矩形的並集  

運算子 operator lpcrect 將乙個crect轉換為乙個lpcrect  

operator lprect 將乙個crect轉換為乙個lprect  

operator = 將乙個矩形的尺寸拷貝到crect  

operator == 確定crect是否與乙個矩形相等  

operator != 確定crect是否不等於另乙個矩形  

operator += 使crect增加指定的偏移,或使crect放大  

operator -= 從crect中減去指定的偏移,或縮小crect  

operator &= 設定crect等於crect和某個矩形的交  

operator |= 設定crect等於crect和某個矩形的並  

operator + 增加給定偏移量到crect,並返回得到的crect物件  

operator - 從crect中減去給定偏移量,並返回得到的crect物件  

operator & 建立crect與某個矩形的交,並返回得到的crect物件  

operator | 建立crect與某個矩形的並,並返回得到的cr

CRect類 的介紹

類crect是對windows結構rect的封裝,凡是能用rect結構的地方都可以用crect代替。結構rect表示乙個矩形的位置和尺寸,其定義為 typedef struct tagrect rect 其中 left top分別表示矩形左上角頂點的橫座標和縱座標,right bottom分別表示矩...

Duilib中各個類的簡單介紹

來自 一 核心類 1.cwindowwnd,視窗物件管理父類,主要作用 1 建立視窗。2 視窗訊息過程處理。3 提供視窗子類化與超類化介面。2.cdialogbuilder,控制項布局類,主要作用 1 讀取xml指令碼,分析指令碼,構建控制項樹。2 建立控制項物件。3.cpaintmanagerui...

Duilib中各個類的簡單介紹

一 核心類 1.cwindowwnd,視窗物件管理父類,主要作用 1 建立視窗。2 視窗訊息過程處理。3 提供視窗子類化與超類化介面。2.cdialogbuilder,控制項布局類,主要作用 1 讀取xml指令碼,分析指令碼,構建控制項樹。2 建立控制項物件。3.cpaintmanagerui,視窗...