ChooseFont 函式
函式原型
BOOL WINAPI ChooseFont(
_Inout_ LPCHOOSEFONT lpcf
);
形參
lpcf [輸入引數, 輸出引數]
型別: LPCHOOSEFONT
指向 CHOOSEFONT 結構體的型別的指標。此結構體包括用於初始化對話方塊的資訊。當ChooseFont函式返回時,此結構體包括使用者選擇的字型的資訊。
CHOOSEFONT結構體的定義:
typedef struct {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONT lpLogFont;
INT iPointSize;
DWORD Flags;
COLORREF rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
HINSTANCE hInstance;
LPTSTR lpszStyle;
WORD nFontType;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONT, *LPCHOOSEFONT;
結構體成員變數
lStructSize
型別:DWORD
結構體的位元組數
hwndOwner
型別:HWND
此對話方塊的父視窗的控制代碼。如果沒有則填NULL。
hDC
型別:HDC
歷史遺留引數,填寫NULL
lpLogFont
型別:LPLOGFONT
指向LOGFONT結構體的指標。如果你在Flags成員變數中設定了CF_INITTOLOGFONTSTRUCT標誌並且初始化了其它成員變數,ChooseFont函式會用指定的LOGFONT成員變數來初始化對話方塊。如果使用者單擊了“確定”按鈕,ChooseFont會把LOGFONT結構體設定為使用者的選中項。
iPointSize
型別:INT
選中的字號,單位是一個點的1/10。ChooseFont函式在關閉對話方塊時設定這個值。
Flags
初始化對話方塊的位標誌。對話方塊返回時,這個標誌設定為使用者的選擇。
rgbColors
型別:COLORREF
如果CF_EFFECTS標誌設定了,則rgbColors表示初始文字顏色。ChooseFont函式呼叫成功後,返回使用者選中的顏色。
lCustData
型別:LPARAM
傳到lpfnHook成員變數的鉤子過程的應用程式資料。
lpfnHook
型別:LPCFHOOKPROC
指向CFHookProc型別鉤子過程的指標。除非設定了Flags成員變數中設定了CF_ENABLEHOOK,否則這個成員變數被忽略。
lpTemplateName
型別:LPCTSTR
hInstance成員變數標誌的對話方塊模板資源的名字。只有Flags成員變數中設定了CF_ENABLETEMPLATE成有效。
hInstance
型別:HINSTANCE
如果Flags成員變數設定了CF_ENABLETEMPLATEHANDLE標誌,則hInstance是指向包含對話方塊模板的記憶體物件的控制代碼。如果Flags成員變數設定了CF_ENABLETEMPLATE標誌,則hInstance是指向lpTemplateName成員變數的名字的對話方塊模板的模組控制代碼。如果這兩個標誌都沒設定,則忽略這個引數。
lpszStyle
型別:LPTSTR
樣式資料。如果Flags成員變數設定了CF_USESTYLE標誌,則ChooseFont使用這個緩衝區的資料來初始化字型樣式複合框。使用者關閉對話方塊時,ChooseFont複製字型樣式複合框的字串到這個緩衝區來。
nFontType
型別:WORD
ChooseFont函式返回的選中字型的型別。取值為:
nSizeMin
使用者可選擇的大小的最小點。flags成員變數設定了CF_LIMITSIZE才有用。
nSizeMax
使用者可選擇的大小的最大點。flags成員變數設定了CF_LIMITSIZE才有用。
ChooseFont 函式
函式原型
BOOL WINAPI ChooseFont(
_Inout_ LPCHOOSEFONT lpcf
);
形參
lpcf [輸入引數, 輸出引數]
型別: LPCHOOSEFONT
指向 CHOOSEFONT 結構體的型別的指標。此結構體包括用於初始化對話方塊的資訊。當ChooseFont函式返回時,此結構體包括使用者選擇的字型的資訊。
CHOOSEFONT結構體的定義:
typedef struct {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONT lpLogFont;
INT iPointSize;
DWORD Flags;
COLORREF rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
HINSTANCE hInstance;
LPTSTR lpszStyle;
WORD nFontType;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONT, *LPCHOOSEFONT;
結構體成員變數
lStructSize
型別:DWORD
結構體的位元組數
hwndOwner
型別:HWND
此對話方塊的父視窗的控制代碼。如果沒有則填NULL。
hDC
型別:HDC
歷史遺留引數,填寫NULL
lpLogFont
型別:LPLOGFONT
指向LOGFONT結構體的指標。如果你在Flags成員變數中設定了CF_INITTOLOGFONTSTRUCT標誌並且初始化了其它成員變數,ChooseFont函式會用指定的LOGFONT成員變數來初始化對話方塊。如果使用者單擊了“確定”按鈕,ChooseFont會把LOGFONT結構體設定為使用者的選中項。
iPointSize
型別:INT
選中的字號,單位是一個點的1/10。ChooseFont函式在關閉對話方塊時設定這個值。
Flags
型別:DWORD
初始化對話方塊的位標誌。對話方塊返回時,這個標誌設定為使用者的選擇。
rgbColors
型別:COLORREF
如果CF_EFFECTS標誌設定了,則rgbColors表示初始文字顏色。ChooseFont函式呼叫成功後,返回使用者選中的顏色。
lCustData
型別:LPARAM
傳到lpfnHook成員變數的鉤子過程的應用程式資料。
lpfnHook
型別:LPCFHOOKPROC
指向CFHookProc型別鉤子過程的指標。除非設定了Flags成員變數中設定了CF_ENABLEHOOK,否則這個成員變數被忽略。
lpTemplateName
型別:LPCTSTR
hInstance成員變數標誌的對話方塊模板資源的名字。只有Flags成員變數中設定了CF_ENABLETEMPLATE成有效。
hInstance
型別:HINSTANCE
如果Flags成員變數設定了CF_ENABLETEMPLATEHANDLE標誌,則hInstance是指向包含對話方塊模板的記憶體物件的控制代碼。如果Flags成員變數設定了CF_ENABLETEMPLATE標誌,則hInstance是指向lpTemplateName成員變數的名字的對話方塊模板的模組控制代碼。如果這兩個標誌都沒設定,則忽略這個引數。
lpszStyle
型別:LPTSTR
樣式資料。如果Flags成員變數設定了CF_USESTYLE標誌,則ChooseFont使用這個緩衝區的資料來初始化字型樣式複合框。使用者關閉對話方塊時,ChooseFont複製字型樣式複合框的字串到這個緩衝區來。
nFontType
型別:WORD
ChooseFont函式返回的選中字型的型別。取值為:
nSizeMin
型別:INT
使用者可選擇的大小的最小點。flags成員變數設定了CF_LIMITSIZE才有用。
nSizeMax
型別:INT
使用者可選擇的大小的最大點。flags成員變數設定了CF_LIMITSIZE才有用。