消息为什么响应不了啊??55555555555
我在工程中自己插入了一个新类(派生自CFrameWnd),现在要接受从另一个类中发出的消息,我是这么做的,为什么收不到啊??帮我看看,谢谢!!
// Generated message map functions
//{{AFX_MSG(CCommunication)
// NOTE - the ClassWizard will add and remove member functions here.
afx_msg LONG OnCommunication(WPARAM ch, LPARAM port);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
DECLARE_DYNAMIC(CCommunication)
//IMPLEMENT_DYNCREATE(CCommunication, CFrameWnd)
IMPLEMENT_DYNAMIC(CCommunication ,CFrameWnd)
BEGIN_MESSAGE_MAP(CCommunication, CFrameWnd)
//{{AFX_MSG_MAP(CCommunication)
// NOTE - the ClassWizard will add and remove mapping macros here.
ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
大家帮我分析一下,谢谢!
问题点数:20、回复次数:14Top
1 楼holyeagle(一杯清茶)回复于 2004-09-01 17:45:46 得分 0
用spy检查消息是否发出,消息发出的窗口是否正确。Top
2 楼lixiaosan(小三)回复于 2004-09-01 17:48:24 得分 0
stdafx.cpp中
#define WM_COMM_RXCHAR WM_USER+100
你的另一个类是否得到了派生自CFrameWnd的类的指针Top
3 楼zhaogaojian(米柑年成-WWW.VSFAN.NET)回复于 2004-09-01 17:53:37 得分 0
#define WM_MY_MESSAGE WM_USER+1
LRESULT OnMyMessage(WPARAM wParam,LPARAM lParam);
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)
LRESULT CMyDialog::OnMyMessage(WPARAM wParam,LPARAM lParam)
{
}
四个缺一不可Top
4 楼huaguli(学VC不要命)回复于 2004-09-01 18:36:48 得分 0
关注中:Top
5 楼huaguli(学VC不要命)回复于 2004-09-01 18:37:09 得分 0
关注Top
6 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-09-01 18:47:12 得分 0
你是否都按上面的实现Top
7 楼huaguli(学VC不要命)回复于 2004-09-01 19:44:18 得分 0
按上面做了Top
8 楼huaguli(学VC不要命)回复于 2004-09-01 19:52:50 得分 0
怎么没人回答啊?
Top
9 楼huaguli(学VC不要命)回复于 2004-09-01 19:53:00 得分 0
自己顶Top
10 楼eleek(宿迁人自己的社区(www.sqren.cn))回复于 2004-09-01 20:05:33 得分 0
你说的发送消息是不是通过调用SendMessage函数发的,如果是这样的,请检查该函数的的第一个参数HWND-将要接收该消息的窗口句柄-是否指定正确。跟踪调试一下就可以发现了。Top
11 楼redmoons(臭臭)回复于 2004-09-01 21:06:51 得分 0
CCommunication,能处理消息吗?
是在MFC中能处理消息的类的基类吗?Top
12 楼kpld8888(kpld)回复于 2004-09-01 21:51:28 得分 20
只有窗口类才能处理消息的Top
13 楼redmoons(臭臭)回复于 2004-09-01 23:45:44 得分 0
至少也是派生自CCommandTarget下吧!Top
14 楼chenzhg(缘尽情未了)回复于 2004-09-01 23:52:20 得分 0
关注Top




