将自定义消息发给所有顶层窗口(MFC)
2017-08-10 17:36
281 查看
发送端
在头文件,注册消息并保存消息值(发全局消息好像一定要注册):
在需要发送的地方:
接收端
头文件中,注册消息并保存消息值:
C***Dlg.h中,定义用来处理消息的函数(返回值与参数好像都是固定的):
C***Dlg.cpp中,完成消息映射:
C***Dlg.cpp中,实现消息响应函数:
参考: 进程间通信 1 – 使用RegisterWindowMessage实现消息通信
在头文件,注册消息并保存消息值(发全局消息好像一定要注册):
const UINT WM_MYONRECVMSG = ::RegisterWindowMessage(_T("ONRECEIVE")); //_T()内的字符串与接收端要一致
在需要发送的地方:
::PostMessage(HWND_BROADCAST, WM_MYONRECVMSG, 0, 0);
接收端
头文件中,注册消息并保存消息值:
const UINT WM_MYONRECVMSG = ::RegisterWindowMessage(_T("ONRECEIVE")); //_T()内的字符串与发送端要一致
C***Dlg.h中,定义用来处理消息的函数(返回值与参数好像都是固定的):
afx_msg LRESULT OnMyReceiveMsg(WPARAM wParam, LPARAM lParam);
C***Dlg.cpp中,完成消息映射:
BEGIN_MESSAGE_MAP(CSocketMFC810aDlg, CDialogEx) //ON_WM_SYSCOMMAND() //ON_WM_PAINT() //ON_WM_QUERYDRAGICON() ON_REGISTERED_MESSAGE(WM_MYONRECVMSG, OnMyReceiveMsg)//注意消息值与函数名,要与上述一致 END_MESSAGE_MAP()
C***Dlg.cpp中,实现消息响应函数:
LRESULT C***Dlg::OnMyReceiveMsg(WPARAM wParam, LPARAM lParam) { AfxMessageBox(_T("OnMyReceiveMsg"));//弹出提示窗口验证已接收消息 return 0; }
参考: 进程间通信 1 – 使用RegisterWindowMessage实现消息通信
相关文章推荐
- MFC模态对话框和非模态对话框及副窗口调用主窗口控件 自定义消息发送
- MFC 向指定窗口发送自定义消息
- MFC添加自定义窗口消息
- MFC中,自定义消息函数必须把所有参数都带上。
- MFC设置对话框窗口位于所有窗口的最顶层
- MFC学习(18)MFC中利用HWND_BROADCAST 向其它所有窗口广播消息
- 通过小练习掌握MFC知识点之起步篇-父子窗口间传值、ListCtrl隔行变色、双缓冲技术解决控件闪烁、自定义消息等
- c++控制台(非窗口,非MFC框架)里线程如何通过自定义消息通信
- MFC 向指定窗口发送自定义消息
- MFC 向指定窗口发送自定义消息
- MFC 自定义消息 给主窗口发消息
- MFC自定义控件如何向父窗口发送自定义消息
- MFC 关闭所有弹出模态对话框,并创建新的对话框(切换/跳转窗口)
- mfc自定义消息步骤
- MFC中添加自定义消息响应函数
- 自定义控件(自定义窗口)在对话框中接收不到WM_CHAR消息的解决方法
- [ATL/WTL]_[初级]_[Win32窗口自定义消息处理过程]
- MFC中自定义消息
- MFC窗口WM_COMMAND消息
- MFC应用程序中处理消息的顺序(窗口建立与销毁)