不执行自定义消息(三层对话框的结构)
我的程序不执行自定义消息。
我的程序是对话框结构的,主对话框pTestDlg调用第二个对话框DlgReceiver,第二个对话框DlgReceiver调用第三个对话框DlgSender,第三个对话框DlgSender是消息发送者,第二个对话框DlgReceiver是消息接收者。
我调试后发现,应该是消息发送者中的这句话有问题:
AfxGetApp()->GetMainWnd()->SendMessage(WM_SETOK, (WPARAM)&tSetParam,0);/*发现消息, 传递参数*/
其中WM_SETOK是我的自定义消息。
问题应该在于GetMainWnd(),这个应该是把消息发送到主对话框pTestDlg中了,而我想把消息发送到DlgReceiver。只是应该怎么改,还请各位指教一下,不胜感激!
[解决办法]
在第三个对话框中,
- C/C++ code
::SendMessage (GetParent()->m_hWnd, WM_SETOK, (WPARAM)&tSetParam,0);
[解决办法]
楼上的正解,
GetParent()->SendMessage (,WM_SETOK, (WPARAM)&tSetParam,0);
用GetParent获取第三个窗口的父窗口,也就是第二个对话框,然后对其发送消息
[解决办法]
你的先得到DlgReceiver的窗口句柄
[解决办法]