CFHookProc

CFHookProc

CFHookProc是函式.是一個應用程式定義的或庫定義的回調函式,此回調函式與ChooseFont函式一起使用。掛鈎函式接收用於Font公共對話框的預設對話框函式的訊息和通告。

函式功能

函式功能:該掛鈎函式是一個應用程式定義的或庫定義的回調函式,此回調函式與ChooseFont函式一起使用。掛鈎函式接收用於Font公共對話框的預設對話框函式的訊息和通告。

CFHookProcCFHookProc

LPCFHOOKPROC類型定義了一個指向這種回調函式的指針。CFHOOKProc是一個由應用程式定義的函式名的位置占有者。
函式原型:UINT CALLBACK CFHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM IParam);

參數

hdlg:指向訊息所指的Font對話框視窗的句柄。
uiMsg:指定存放的訊息。
wParam:指定有關訊息的其他信息。精確的意義根據uiMsg參數的值來決定。
IParam:指定有關訊息的其他信息。精確的意義根據uiMSg參數的值來決定。如果uiMsg參數表明WM_INITDIALOG訊息,則IParam是一個指向CHOOSEFONT結構的指針,該結構含有創建公共對話框時指定的值。
返回值:如果掛鈎函式返回零值,預設對話框函式處理訊息。如果掛鈎函式返回一個非零值,預設對話框函式忽略訊息。

CFHookProcCFHookProc
備註:用ChooseFont函式創建一個Font對話框時,可以為對話框函式提供掛鈎函式來處理訊息。
為使掛鈎函式生效,要用傳送到對話創建函式的CHOOSEFONT結構,指定IpfnHook成員中掛鈎函式的地址和Flags成員中CF_ENABLEHOOK標誌。
預設的對話框函式處理WM_INTDIALOG訊息後,把它傳送給掛鈎函式。對於其他訊息,掛鈎函式首先存放此訊息。然後掛鈎函式的返回值決定預設對話函式是否處理訊息或忽略它。
如果掛鈎函式處理 WM_CTLCOLORDLG信息,它必須返回一個有效的刷子句柄,以刷對話的背景。
總之,如果掛鈎函式處理任何一個WM_CTLCOLOR訊息,那么必須返回一個有效刷子句柄,以繪製指定控制的背景不須從掛鈎函式調用EndDialog函式。相反,掛鈎函式能調用PostMessage函式,把帶有IDABORT值的一個WM_CDOMMAND信息傳送給對話框函式Posting IDABORT關閉對話框,使對話框函式退回FALSE值,若要了解為什麼掛鈎函式關閉對話框,必須提供掛鈎函式和應用程式之間的聯繫機理。
可以對公共對話框的標準控制臺進行子分類。但是公共對話框函式也可以對控制臺進行子分類。正因如此,必須在掛鈎函式WM_INTDIALDG處理訊息時對控制面板子分類。這就保證對話框函式設定子分類函式之前,子分類函式接收指定的控制訊息。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭檔案:commdlg.h;庫檔案:用戶自定義。

相關詞條

相關搜尋

熱門詞條

聯絡我們