1.定义消息值,在想添加消息文件中添加代码:
#define WM_MY_MESSAGE(WM_USER + 101)
Microsoft推荐自定义消息值至少为WM_USER + 100。
2.实现消息处理函数。该函数使用WPARAM和LPARAM参数并返回LPESULT。
LPESULT CMyclass :: OnMyMessage(WPARAM wParam, LPARAM lParam)
{
//TODO:
```
return 0;
}
3.在类头文件的AFX_MSG中说明消息处理函数:
class Myclass
{...
//一般消息映射函数
protected:
// {{AFX_MSG
afx_msg void OnTimer(UINT nIDEvent);
...
afx_msg LRESULT OnMyMessage(WPARAM wParam,LPARAM lParam);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}
4.在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。
BEGIN_MESSAGE_MAP
//{{AFX_MSG_MAP
...
ON_WM_TIMER()
...
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)
//}}AFX_MSG_MAP()
5.按照上面的方式我们已经自定义了消息,并为该消息实现了简单的处理过程,
这里就通过发送消息获得自定义消息的响应。在要触发自定义消息地方添加代码:
::SendMessage(GetSafeHwnd(),WM_MY_MESSAGE,0L,0L);
posted on 2012-11-21 23:51
寻步 阅读(177)
评论(0) 编辑 收藏 引用