随笔-43  评论-2  文章-6  trackbacks-0
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 寻步 阅读(171) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理