///自定义消息
假设两个类CDIALOG1,CDIALOG2;
1 定义消息 在主对话框的头文件中
#define MyMessage(自己定义消息名字) (WM_USER+100) //全局变量
2 CDIALOG1的头文件中添加:
afx_msg LRESULT void OnProgress(WPARAM wParam, LPARAM lParam);
3 CDIALOG1的实现文件中添加:
ON_MESSAGE ON_THREAD_MESSAGE (MyMessage, OnProgress) //没有分号
4 CDIALOG1的实现文件中添加消息响应函数:
LRESULT void CDIALOG1::OnProgress(WPARAM wParam,LPARAM lParam)
{
//这里添加你的处理函数
return 0; vs2008中应去掉
}
5 在CDIALOG2中向CDIALOG1发送消息:
CDIALOG1 Dlg1;
::PostMessage(Dlg1.m_hWnd,MyMessage,0,0);
带颜色的是两者的区别 。 红色是vc++6.0 蓝色底是vs2008