您的位置:首页 > 其它

MFC和win32自定义消息

2015-10-09 11:27 190 查看
MFC自定义消息

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

                              #define WM_USER_THREADEND WM_USER + 1

               2.  在于增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为public
                              afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);

               3.  在窗口或对话框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行          
                              ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend) 
                
               4.  在窗口或对话框的cpp文件中增加回调函数的实现,如:
                               LRESULT ThreadDialog::OnUserThreadend(WPARAM wParam, LPARAM lParam) 
                                {
                                                TRACE("WM_USER_THREADEND message /n");
                                                return 0;
                                }       

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

win32自定义消息

先用宏把消息定义好!
#define WM_LALA WM_USER+10
在消息循环中写一个
case WM_LALA:
 MessageBox(....);
break;
就可以用这个消息处理
PostMessage(..)或SendMessage(..)你所发的消息了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息