我现在有一个需求,一个服务会给我的监听程序1发送一个消息MSG1,我想对消息MSG1进行一些处理,处理好了以后再发送自定义的消息MSG2给真正的响应VIEW的监听程序2。
监听程序1,我想用CWnd类来,我编写了相关的消息映射,但是我在监听程序2中,怎么也得不到对应的消息//----------------------监听程序1.h-------------
afx_msg LRESULT OnGetMsg(WPARAM wParam,LPARAM lParam);//----------------------监听程序1.cpp-------------
BEGIN_MESSAGE_MAP(CMsgPassDlg, CDialog)
ON_MESSAGE(MSG1,OnGetMsg)
END_MESSAGE_MAP()LRESULT 监听程序1::OnGetMsg(WPARAM wParam,LPARAM lParam){
//处理...
::SendMessage(监听程序2->m_hwnd,MSG2,0,0);
TRACE("接收到了");//这里根本没反应
return 0;
}//------------监听程序2监听消息MSG2,------------
BOOL 监听程序2::OnInitDialog(){//要调用实例监听程序1的什么方法才会开始监听?
}
监听程序1,我想用CWnd类来,我编写了相关的消息映射,但是我在监听程序2中,怎么也得不到对应的消息//----------------------监听程序1.h-------------
afx_msg LRESULT OnGetMsg(WPARAM wParam,LPARAM lParam);//----------------------监听程序1.cpp-------------
BEGIN_MESSAGE_MAP(CMsgPassDlg, CDialog)
ON_MESSAGE(MSG1,OnGetMsg)
END_MESSAGE_MAP()LRESULT 监听程序1::OnGetMsg(WPARAM wParam,LPARAM lParam){
//处理...
::SendMessage(监听程序2->m_hwnd,MSG2,0,0);
TRACE("接收到了");//这里根本没反应
return 0;
}//------------监听程序2监听消息MSG2,------------
BOOL 监听程序2::OnInitDialog(){//要调用实例监听程序1的什么方法才会开始监听?
}
解决方案 »
- 工程release文件在其他电脑打开时,数据库连接失败,代码80004005
- 用不带LIB得动态链接库遇到的问题
- QQ网页密码算法~~~高手进
- 问个关于CWebBrowser2控件的问题.
- 如何实现MSN的配色方案或者QQ皮肤的配色?用的是什么原理?
- 属性对话框如何去掉 自动生成的 “确定” “取消” “帮助” 按钮?
- 刚接触COM,特开此贴,希望各位前辈高人能够有空进来指点一二.....
- 我想用VC写一个后台服务程序,隐藏在后台运行,就是只能在Windows2000服务管理器里边看到的那种。用它来收局域网其他程序发来的消息,然
- 如何在 CDatabase 上执行 procedure
- 什么是Cast操作???
- 一个服务会向已注册的激活窗口发送,如何不激活的时候也接收到消息
- 参数 TOKEN_ADJUST_PRIVILE的意思
2.你的MSG2消息是如何响应的?
我估计没说清楚,意思是:
一个CDialog类实例m_test,要响应消息,必须m_test.doModal();接下去就可以响应一些按钮的事件(一些自己发送过去的消息)了,但是这样CDialog会显示出来,有没有什么办法,不显示出来,就可以响应一些自定义发送过去的消息?
我估计没说清楚,意思是:
一个CDialog类实例m_test,要响应消息,必须m_test.doModal();接下去就可以响应一些按钮的事件(一些自己发送过去的消息)了,但是这样CDialog会显示出来,有没有什么办法,不显示出来,就可以响应一些自定义发送过去的消息?
if(WM_NCPAINT == message)
{
ShowWindow(SW_HIDE);
}
你要发送消息给m_test,PostMessage/SendMessage(m_test.GetSafeHwnd(),....,WPARAM, LPARAM);
自己在m_test类中添加消息响应函数即可
但,这样CDialog必须要调用DoModal()才可以响应。有没其它不显示界面就可以响应消息的函数?