MFC自定义消息

 

使用步骤: 

第一步: 在头文件stdafx.h中增加一个自定义消息宏

1 #define WM_USER_THREADEND WM_USER + 1

说明:很多MFC的消息是在WM_USER内的,所以这里用比WM_USER大的消息

 

第二步:在增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为public

1 afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);

  

第三步:在窗口或对话框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行(消息映射)

1 ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend)

  

第四步:在窗口或对话框的cpp文件中增加回调函数的实现

1 LRESULT ThreadDialog::OnUserThreadend(WPARAM wParam, LPARAM lParam)
2 {
3     TRACE("WM_USER_THREADEND message /n");
4     return 0;
5 }

  

第五步:自定义消息的触发

1 ::PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);

 其中GetSafeHwnd()得到了一个当前窗口的句柄,此消息将发给当前窗口,如果想发送消息给其它窗口只需改变这个句柄,前提是目的窗口也实现了此消息的处理函数。

 

 

参考文档:

1.MFC自定义消息:http://www.cnblogs.com/smartvessel/archive/2011/07/18/2109472.html

 

posted @ 2017-11-15 15:48  香瓣依生  阅读(151)  评论(0编辑  收藏  举报