1. 程式人生 > >MFC中使用者自定義訊息及其響應函式的方法

MFC中使用者自定義訊息及其響應函式的方法

1.在對應類的標頭檔案中自定義訊息

如:#define WM_RESULT WM_USER+1

2.在標頭檔案中定義訊息響應函式,注意:這個函式的返回值必須是LRESULT 引數必須是 WPARAM 和LPARAM型別。

這是因為afx_msg void OnMyMessage( WPARAM , LPARAM ); 這樣定義的方法在VC6中是可以的,但是在VS2005等以後要求嚴格了,

要定義成這樣,如:afx_msg LRESULT DisplayResult(WPARAM wParam,LPARAM lParam);

3.在.cpp關聯訊息和響應函式

如:ON_MESSAGE(WM_RESULT,CDemo4View::DisplayResult)

實現訊息響應函式

LRESULT CDemo4View::DisplayResult(WPARAM wParam,LPARAM lParam)
{
 CString str;
 double time = (double)lParam;
 str.Format("第%d個素數為%d,%f",PrimeNumbers,g_Result,time);
 MessageBox(str);
 return 0;
}

經過以上步驟即可。