增加自定义消息的步骤
增加自定义消息的步骤
Amamatthew 发表于3年前
增加自定义消息的步骤
  • 发表于 3年前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,ClassWizard就可以象处理其它消息一样处理你自定义的消息了。

下面是增加自定义消息的步骤:

第一步:定义消息。开发Windows应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。

第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULT。

LPESULT   CMainFrame::OnMyMessage(WPARAM   wParam,   LPARAM   lParam) 
{ 
    //   TODO:   处理用户自定义消息 
    //            ... 
          return   0; 
}

第三步:在类头文件的AFX_MSG块中说明消息处理函数:

class   CMainFrame:public   CMDIFrameWnd 
{ 
        //... 
        //   一般消息映射函数 
        protected: 
                //   {{AFX_MSG(CMainFrame) 
                afx_msg   int   OnCreate(LPCREATESTRUCT lpCreateStruct); 
                afx_msg   void  OnTimer(UINT nIDEvent); 
                afx_msg   LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); 
                //}}AFX_MSG 
                DECLARE_MESSAGE_MAP() 
}

 第四步:在用户类的消息块中,使用ON_MESSAGE宏指令将消息映射到消息处理函数中。

BEGIN_MESSAGE_MAP(CMainFrame,   CMDIFrameWnd) 
        //{{AFX_MSG_MAP(CMainFrame) 
        ON_WM_CREATE() 
        ON_WM_TIMER() 
        ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) 
        //}}AFX_MSG_MAP 
END_MESSAGE_MAP()

        如果用户需要一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage并使用ON_REGISTER_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤同上。

共有 人打赏支持
粉丝 66
博文 719
码字总数 76443
×
Amamatthew
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: