MFC 两个对话框直接的消息传递
2017-05-10 14:56
274 查看
A发送对话框代码:
定义宏:#define WM_MyMessage WM_USER+1000;
消息映射:ON_COMMAND(ID_FILE_RECONNECT, &CDataBaseTool_UIDlg::OnFileReconnect)
init_connect *m_init_connect_msg; //声明一个B接受对话框指针
void SetInit_connect(init_connect &init){ m_init_connect_msg = &init; }
//初始化指针
afx_msg void OnFileReconnect();
//消息响应
void CDataBaseTool_UIDlg::OnFileReconnect()
//函数实现
{
m_init_connect_msg->SendMessage(WM_MyMessage, 1, 1);
}
如果B是A的父窗口可以之前:
//HWND hWnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd();
//第一种
::SendMessage(::GetParent(m_hWnd), WM_ParsaveDlg_event, a, b);
//第二种
B接受对话框代码:
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); 响应函数
ON_MESSAGE(WM_MyMessage, OnMyMessage) 消息映射
具体实现:
CDataBaseTool_UIDlg dlg;
dlg.SetInit_connect(*this);//一定要初始化;
INT_PTR nResponse = dlg.DoModal();
定义宏:#define WM_MyMessage WM_USER+1000;
消息映射:ON_COMMAND(ID_FILE_RECONNECT, &CDataBaseTool_UIDlg::OnFileReconnect)
init_connect *m_init_connect_msg; //声明一个B接受对话框指针
void SetInit_connect(init_connect &init){ m_init_connect_msg = &init; }
//初始化指针
afx_msg void OnFileReconnect();
//消息响应
void CDataBaseTool_UIDlg::OnFileReconnect()
//函数实现
{
m_init_connect_msg->SendMessage(WM_MyMessage, 1, 1);
}
如果B是A的父窗口可以之前:
//HWND hWnd = AfxGetApp()->GetMainWnd()->GetSafeHwnd();
//第一种
::SendMessage(::GetParent(m_hWnd), WM_ParsaveDlg_event, a, b);
//第二种
B接受对话框代码:
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); 响应函数
ON_MESSAGE(WM_MyMessage, OnMyMessage) 消息映射
具体实现:
CDataBaseTool_UIDlg dlg;
dlg.SetInit_connect(*this);//一定要初始化;
INT_PTR nResponse = dlg.DoModal();
相关文章推荐
- MFC消息传递(单文档与对话框)
- MFC 线程消息传递问题二---两个线程之间进行消息的传递
- MFC对话框消息传递顺序
- MFC对话框消息传递顺序
- MFC中两个对话框之间数据传递
- 如何在MFC对话框之间自定义消息传递
- MFC中两个对话框之间数据传递
- MFC对话框之间自定义消息传递
- 转《MFC对话框消息传递顺序》
- MFC对话框消息传递顺序
- MFC对话框消息传递顺序
- MFC中对话框之间消息传递
- MFC对话框消息传递顺序
- mfc 在VC的两个对话框类中传递参数的三种方法
- MFC学习笔记(二):消息对话框的两个函数用法与区别
- 怎样在MFC的两个对话框中相互传递数据
- 如何在MFC对话框之间自定义消息传递
- 转《MFC对话框消息传递顺序》
- MFC中两个对话框之间数据传递
- MFC对话框消息传递顺序