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;
}
经过以上步骤即可。