MFC 使用的回呼函式
Microsoft Foundation Class Library 中會出現三個回呼函式。 這些回呼函式會傳遞至 CDC::EnumObjects、 CDC::GrayString 和 CDC::SetAbortProc。 請注意,所有回呼函式都必須在返回 Windows 之前攔截 MFC 例外狀況,因為無法跨回呼界限擲回例外狀況。 如需例外狀況的詳細資訊,請參閱例外狀況一文。
CDC::EnumObjects 的回呼函數
CDC::GrayString 的回呼函數
CDC::SetAbortProc 的回呼函數
需求
標題: afxwin.h
CDC::EnumObjects 的回呼函數
ObjectFunc 名稱是應用程式提供函式名稱的佔位元。
語法
int CALLBACK EXPORT ObjectFunc(
LPSTR lpszLogObject,
LPSTR* lpData);
參數
lpszLogObject
指向 包含物件邏輯屬性相關信息的 LOGPEN 或 LOGBRUSH 數據結構。
lpData
指向傳遞至 EnumObjects
函式的應用程式所提供的資料。
傳回值
回呼函式會傳 int
回 。 這個傳回的值是用戶定義的。 如果回呼函式傳回 0,EnumObjects
會及早停止列舉。
備註
必須輸出實際的名稱。
CDC::GrayString 的回呼函數
OutputFunc 是應用程式提供的回呼函式名稱的佔位元。
語法
BOOL CALLBACK EXPORT OutputFunc(
HDC hDC,
LPARAM lpData,
int nCount);
參數
hDC
識別記憶體裝置內容,其點陣圖至少為和 所 nWidth
nHeight
GrayString
指定的寬度和高度。
lpData
指向要繪製的字元字串。
nCount
指定要輸出的字元數。
傳回值
回呼函式的傳回值必須是TRUE,才能指出成功;否則為 FALSE。
備註
回調函式 (OutputFunc) 必須繪製相對於座標 (0,0) 而非 (x, y) 的影像。
CDC::SetAbortProc 的回呼函數
AbortFunc 名稱是應用程式提供之函式名稱的佔位元。
語法
BOOL CALLBACK EXPORT AbortFunc(
HDC hPr,
int code);
參數
hPr
識別裝置內容。
code
指定是否發生錯誤。 如果沒有發生錯誤,則為 0。 如果列印管理員目前磁碟空間不足,如果應用程式等候,則會SP_OUTOFDISK。 如果 程式代碼 SP_OUTOFDISK,應用程式就不需要中止列印作業。 如果沒有,它必須藉由呼叫 PeekMessage
或 GetMessage
Windows 函式來產生列印管理員。
傳回值
如果列印作業要繼續,則 abort-handler 函式的傳回值為非零值,如果取消,則為 0。
備註
實際名稱必須匯出,如 CDC::SetAbortProc 的一節所述。
另請參閱
結構、樣式、回呼和訊息對應
CDC::EnumObjects
CDC::SetAbortProc
CDC::GrayString