MFC自定义消息


使用步骤:

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

#define WM_USER_THREADEND WM_USER + 1

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


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

afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);
   
                      
第三步:在窗口或对话框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行( 消息映射)         

ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend)


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

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

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

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

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


参考文档:

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


你可能感兴趣的:(C++)