//移動插入符號
說明:
1)創建插入符要在窗口創建完成之後,CreateSolidCaret函數創建的插入符被初始化為隱藏,所以需要調用ShowCaret()將其顯示。
2)使用CreateCaret函數創建位圖插入符的時候,不能使用局部的位圖對象關聯位圖資源。(與資源相關聯的C 對象,當它析構的時候會同時把與它相關聯的資源銷毀。)
2,獲取當前字體信息的度量:CDC::GetTextMetrics
BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;
說明:
typedef struct tagTEXTMETRIC { /* tm */
int tmHeight;//字體高度。Specifies the height (ascent descent) of characters.
int tmAscent;//基線以上的字體高度
int tmDescent;//基線以下的字體高度
int tmInternalLeading;
int tmExternalLeading;
int tmAveCharWidth;//字符平均寬度
int tmMaxCharWidth;
int tmWeight;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
int tmOverhang;
int tmDigitizedAspectX;
int tmDigitizedAspectY;
} TEXTMETRIC;
//創建設備描述表
CClientDC dc(this);
//定義文本信息結構體變量
TEXTMETRIC tm;
//獲得設備描述表中的文本信息
dc.GetTextMetrics(&tm);
//根據字體大小,創建合適的插入符
CreateSolidCaret(tm.tmAveCharWidth / 8, tm.tmHeight);
ShowCaret();
3,OnDraw函數:
virtual void OnDraw( CDC* pDC )
當窗口(從無到有或尺寸大小改變等)要求重繪的時候,會發送WM_PAIN消息,調用OnDraw函數進行重繪。在客戶區的繪圖如果想保持不變也可以在這個函數中進行編寫,每次重給的時候會再次執行代碼,生成繪圖.
4,獲取某字符串的高度和寬度(區別字符串的長度,長度表示字符個數):