一 訊息
1. WM_NCACTIVATE
當客戶區將要顯示啟用或者非啟用時,WM_NCACTIVATE訊息就會發送給視窗。一個視窗通過它的WindowProc函數來擷取該訊息。
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_NCACTIVATE
WPARAM wParam, // new state (BOOL)
LPARAM lParam // not used
);
參數:
wParam
指定標題列或表徵圖要顯示啟用或非啟用狀態的時機。如果標題列或表徵圖將要重化時,參數wparam值為TRUE。對於非啟用的標題列或表徵圖,wparam參數為FALSE。
lParam
這個參數沒有使用
傳回值
當參數wparam是FALSE,應用程式應該返回TRUE,用來指示系統應該採取預設的處理。或者返回FALSE,以防止標題列或表徵圖被啟用。當參數wparam是TRUE時,傳回值將被忽略。
二,函數
1.AddFontResource
函數AddFontResource把指定檔案中的字型資源加到系統字型表裡。此後,該字型就可以被後來的所有的程式所使用。擴充版本:AddFontResourceEx();
int AddFontResource(
LPCTSTR lpszFilename // font file name
);
Parameters
lpszFilename
[in] 包含字型資源的檔案名稱。
2.EnumFontFamliliesEx
函數EnumFontFamliliesEx 枚舉系統中所有匹配lpLogfont字型特徵的字型。函數EnumFontFamliliesEx 主要基於字型名稱,字元集,或者兩者進行枚舉。
int EnumFontFamiliesEx(
HDC hdc, // handle to DC
LPLOGFONT lpLogfont, // font information
FONTENUMPROC lpEnumFontFamExProc, // callback function
LPARAM lParam, // additional data
DWORD dwFlags // not used; must be 0
);
參數
hdc
[in] 指向裝置環境的控制代碼。
lpLogfont
指向LOGFONT結構的指標,該結構包含要枚舉字型的資訊。該函數將檢查以下成員。
成員 |
描述 |
lfCharset |
如果設定成DEFAULT_CHARSET,該函數將枚舉所有的字元集。如果設定為一個有效字元集值,函數將會只從指定的字元肌中枚局字型。 |
lfFaceName |
如果設定為空白字元,函數將會在每種字樣名稱中枚舉一中字型。如果設定為一個有效字樣名稱,函數將會枚舉指定名稱字樣的所有字型。 |
lfPitchAndFamily |
必須為零。 |
lpEnumFontFamExProc
[in] 指嚮應用程式定義的徽調函數的指標。
lParam
[in] 指定應用程式定義的值,該函數將回把該值傳遞給徽調函數。
dwFlags
沒有使用,必須為0。
傳回值
該返回將會徽調函數最後所回的值。
3.函數EnumFontFamExProc是一個應用程式定義的回調的函數,他被函數EnumFontFamiliesEx所使用。它主要用來處理字型。每枚舉一次字型,它就回被調用一次。
int CALLBACK EnumFontFamExProc(
ENUMLOGFONTEX *lpelfe, // logical-font data
NEWTEXTMETRICEX *lpntme, // physical-font data
DWORD FontType, // type of font
LPARAM lParam // application-defined data
);
Parameters
lpelfe
指向一個ENUMLOGFONTEX結構,該結構包含了字型的邏輯屬性一些資訊。
lpntme
指鄉一個一個結構,該結構包含了字型的物理屬性的一些資訊。
FontType
指定字型的樣式。,可以是以下值的組合。
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
lParam
[in]指定應用程式定義的值,它由數EnumFontFamiliesEx傳遞過來的。
Return Values
如果要繼續枚舉,傳回值必須不為0,要停止枚舉,必須返回0。