子对话框向主对话框发送消息的详细操作,参考下面链接文章:
http://blog.csdn.net/phenixyf/article/details/11383509
当子对话框的属性->样式 选择的是弹出时,可以使用上面的方法完成子对话框到主对话框的消息发送。
但当使用Tab控件后,各子对话框的属性->样式均必须被设置成下层(child),
上面的方法就要做适当的改动:
在上面文章方法最后步骤的消息发送部分,如果子对话框属性为弹出,则可以直接使用GetParent()->SendMessage(WM_add_event_ok,a,b);
而当子对话框属性为下层(child)时,GetParent()函数并不能得到主对话框的句柄,所以使用该语句,无法发送消息给主对话框。
使用下面的语句完成消息发送:
HWND hwnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd();
::SendMessage(hwnd,WM_add_event_ok,a,b);
通过AfxGetApp()->GetMainWnd()->GetSafeHwnd();可以得到主对话框的句柄,然后再用SendMessage发送对应到消息到对应的主对话框。
其中如何得到句柄,可以参考下面链接的文章:
http://blog.csdn.net/phenixyf/article/details/7896904