MFC中使用者自定義訊息及其響應函式的方法
阿新 • • 發佈:2019-02-02
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;
}
經過以上步驟即可。