1. 在頭文件stdafx.h中增加一個(gè)自定義消息宏
#define WM_USER_THREADEND WM_USER + 1
2. 在于增加新消息的窗口或對話(huà)框類(lèi)的頭文件中增加一個(gè)回調函數聲明,注意要聲明為public
afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);
3. 在窗口或對話(huà)框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行
ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend)
4. 在窗口或對話(huà)框的cpp文件中增加回調函數的實(shí)現,如:
LRESULT ThreadDialog::OnUserThreadend(WPARAM wParam, LPARAM lParam)
{
TRACE("WM_USER_THREADEND message /n");
return 0;
}
5. 自定義消息的觸發(fā)
::PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);
其中GetSafeHwnd()得到了一個(gè)當前窗口的句柄,此消息將發(fā)給當前窗口,如果想發(fā)送消息給其它 窗口只需改變這個(gè)句柄,前提是目的窗口也實(shí)現了此消息的處理函數。