打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
OnWndMsg函数的处理过程

在MFC中, OnWndMsg函数的处理过程如下:

1)首先,判断消息是否有消息响应函数,例如OnLButtonDown()处理“左键按下”这一消息。

2)判断方法是在相应的窗口类中查找所需的消息响应函数。这里以MFC 的工程Draw为例,OnWndMsg会在 CDrawTest.h 中查找, 看看 DECLARE_MESSAGE_MAP() 之上 ,

两个afx_msg注释宏之间是否有相应的消息响应函数的原型声明,如下:

//CDrawTest.h
protected:  //{{AFX_MSG(CDrawView)  afx_msg void OnLButtonDown(UINT nFlags, CPoint point);//函数OnLButtonDown()的原型声明  //}}AFX_MSG  DECLARE_MESSAGE_MAP()

接着,再到 CDrawView.cpp 中,看看BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()这 两个宏之间 是否有相应的消息映射宏,如下:

// CDrawView.cppIMPLEMENT_DYNCREATE(CDrawView, CView)BEGIN_MESSAGE_MAP(CDrawView, CView)  //{{AFX_MSG_MAP(CDrawView)  ON_WM_LBUTTONDOWN() //函数OnLButtonDown()在消息映射宏之中  //}}AFX_MSG_MAP  // Standard printing commands  ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)  ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)  ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)END_MESSAGE_MAP()

3)如果通过1)、2)步骤,找到了消息响应函数,那么接着就会 调用 该响应函数,对消息进行处理。

如果子类中没有找到消息响应函数,那么就就给基类处理。

4)通过以上步骤,MFC就实现了具体的消息映射,从而完成对消息的响应。

5)函数OnLButtonDown()的实现:

   

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Windows 消息映射(Message Mapping)
MFC 消息详解
MFC-消息分派
MFC的消息映射机制的理解
windows消息机制
Parsing error
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服