MFC中常用類,宏,函數(shù)介紹
常用類
CRect:用來表示矩形的類,擁有四個成員變量:top left bottom right。分別表是左上角和右下角的坐標??梢酝ㄟ^以下的方法構(gòu)造:
CRect( int l, int t, int r, int b ); 指明四個坐標
CRect( const RECT& srcRect ); 由RECT結(jié)構(gòu)構(gòu)造
CRect( LPCRECT lpSrcRect ); 由RECT結(jié)構(gòu)構(gòu)造
CRect( POINT point, SIZE size ); 有左上角坐標和尺寸構(gòu)造
CRect( POINT topLeft, POINT bottomRight ); 有兩點坐標構(gòu)造
下面介紹幾個成員函數(shù):
int Width( ) const; 得到寬度 int Height( ) const; 得到高度 CSize Size( ) const; 得到尺寸 CPoint& TopLeft( ); 得到左上角坐標 CPoint& BottomRight( ); 得到右下角坐標 CPoint CenterPoint( ) const; 得當中心坐標 此外矩形可以和點(CPoint)相加進行位移,和另一個矩形相加得到“并”操作后的矩形。
CPoint:用來表示一個點的坐標,有兩個成員變量:x y。 可以和另一個點相加。
CString:用來表示可變長度的字符串。使用CString可不指明內(nèi)存大小,CString會根據(jù)需要自行分配。下面介紹幾個成員函數(shù):
GetLength 得到字符串長度 GetAt 得到指定位置處的字符 operator + 相當于strcat void Format( LPCTSTR lpszFormat, ... ); 相當于sprintf Find 查找指定字符,字符串 Compare 比較 CompareNoCase 不區(qū)分大小寫比較 MakeUpper 改為小寫 MakeLower 改為大寫
CStringArray:用來表示可變長度的字符串數(shù)組。數(shù)組中每一個元素為CString對象的實例。下面介紹幾個成員函數(shù):
Add 增加CString RemoveAt 刪除指定位置CString對象 RemoveAll 刪除數(shù)組中所有CString對象 GetAt 得到指定位置的CString對象 SetAt 修改指定位置的CString對象 InsertAt 在某一位置插入CString對象
常用宏
RGB RGB宏是VC++程序使用顏色的基礎(chǔ)
TRACE TRACE 宏有點象我們以前在C語言中用的Printf函數(shù),使程序在運行過程中輸出一些調(diào)試信息,使我們能了解程序的一些狀態(tài)。但有一點不同的是:TRACE 宏只有在調(diào)試狀態(tài)下才有所輸出,而以前用的Printf 函數(shù)在任何情況下都有輸出。和Printf 函數(shù)一樣,TRACE函數(shù)可以接受多個參數(shù)如:
int x = 1; int y = 16; float z = 32.0; TRACE( "This is a TRACE statement\n" ); TRACE( "The value of x is %d\n", x ); TRACE( "x = %d and y = %d\n", x, y ); TRACE( "x = %d and y = %x and z = %f\n", x, y, z );
要注意的是TRACE宏只對Debug 版本的工程產(chǎn)生作用,在Release 版本的工程中,TRACE宏將被忽略。
ASSERT
ASSERT( booleanExpression ); 首先:booleanExpression 參數(shù)是一個bool表達式。 用法: 當程序運行到該語句的時候,程序會檢查booleanExpression 這個表達式是真還是假。 如果條件符合,程序繼續(xù)運行下面的代碼; 如果是不符合,那么持續(xù)運行會被卡在這里。不往下面走,并有程序彈出錯誤對話框,指示是由于booleanExpression 這個條件符合導(dǎo)致的報錯。 作用: ASSERT(booleanExpression )語句一般用來檢查一些必須符合的條件,如果不符合條件,則不讓程序繼續(xù)運行下去。
比如: 一個班有55個人,有一個函數(shù)可以對班上的55個人進行處理,一個單獨處理一個同學(xué)也可以,也可以同時處理多個同學(xué)。函數(shù)申明為:CONTROLSTUDENT(int number);其中number為要處理的學(xué)生的個數(shù)。 在使用CONTROLSTUDENT函數(shù)前,一般我們會使用 ASSERT(number<=55); CONTROLSTUDENT(number); 這樣可以保證輸入的學(xué)生數(shù)目絕對小于等于55個人。 如果輸入的number參數(shù)大于55,程序?qū)箦e,不執(zhí)行
VERIFY (X)
x條件表達時必須為真。在Release版中,x語句會保留下來。
常用函數(shù)
CWindApp* AfxGetApp();
HINSTANCE AfxGetInstanceHandle( );
HINSTANCE AfxGetResourceHandle( );
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );用于彈出一個消息框
|