一、子对话框发送消息
在子对话框中,通过GetParent找到主对话框。用主对话框的句柄->PostMessageW()来发送消息。同时传递一个int型的参数wParam。
CWnd* m_mainwin;
#define WM_MY_MESSAGE WM_USER+108
m_mainwin = GetParent()->GetParent();
m_mainwin->PostMessageW(WM_MY_MESSAGE, 33);
二、主对话框响应消息
先把消息映射到处理函数。
#define WM_MY_MESSAGE WM_USER+108
BEGIN_MESSAGE_MAP(CXXXDlg, CDialogEx)
ON_MESSAGE(WM_MY_MESSAGE, OnReceiveMessage)
END_MESSAGE_MAP()
在处理函数中,判断收到的wParam数据,做不同的处理。
LRESULT CXXXDlg::OnReceiveMessage(WPARAM wParam, LPARAM lParam) {
switch(wParam){
case 33:
break;
}
return 0;