假设要DoModal的窗口类为CSubDlg,调用DoModal的窗口为CDlg。
在SubDlg.h中添加一个成员变量和一个函数
HWND hParentWnd;
void SetParent(HWND hWnd);
在SubDlg.cpp中添加 SetParent(HWND hWnd) 函数的实现,将hWnd赋给hParentWnd。
在CDlg.cpp中这样调用:
CSubDlg dlg;
dlg.SetParent(this->GetSafeHwnd());
dlg.DoModal();
在SubDlg.cpp发送消息的时候就可以直接用hParent了
例如: ::PostMessage(hParentWnd, WM_MY_MESSAGE, 0 , 0);