Application中的自定义消息响应问题
我在MainFrm.h 头部定义了#define WM_MY_MESSAGE WM_USER+200
然后在MainFrm.h中写
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnMyMessage();
-------------------------------------
afx_msg void OnFileOpen();
afx_msg void OnFileNew();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
然后在MainFrm.cpp中写
OnMyMessage()的实现函数;
在MainFrm.cpp中写
2. UINT iSign = RegisterWindowMessage("WM_MY_MESSAGE");
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
1. //ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
-------------------------------------------------------
2. ON_REGISTERED_MESSAGE(iSign, OnMyMessage)
--------------------------------------------------------
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
ON_COMMAND(ID_FILE_NEW, OnFileNew)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
数字只是标识用的。
对于第一种情况 用ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
在MainFrm中用SendMessage()可以响应;但是,在由MainFrm打开的对话框中
不能响应,不管用SendMessage()还是PostMessage();
第二种情况,MainFrm中和由MainFrm打开的对话框中都不响应;
我不知道时哪里出错了,我只是想看看ON_REGISTERED_MESSAGE()和
ON_MESSAGE()定义的消息由什么不同....哪位高手能给我指点一下~~~~~:(
谢谢!!!!!!