首页 > 编程语言 > 详细

MFC宏消息处理机制的原理

时间:2017-08-24 14:44:35      阅读:265      评论:0      收藏:0      [点我收藏+]

1.1、在MFC中处理消息的函数是固定的,如afx_msg int OnCreate(LPCREATESTRUCT);这是一个固定的,对应于ON_WM_CREAT()宏。如果改变了函数名,对应的宏就会不认识。

1.2、MyCreate函数,用来响应系统的WM_CREATE消息,这些函数是有固定格式要求的。并且函数名必须和MSDN给定的函数名保持完全一致。

1.3、

struct AFX_MSGMAP
{
  const AFX_MSGMAP* (PASCAL* pfnGetBaseMap)(); 
  const AFX_MSGMAP_ENTRY* lpEntries;
};

 

1.4、

struct AFX_MSGMAP_ENTRY
{
  UINT nMessage;    // windows message
  UINT nCode;      // control code or WM_NOTIFY code
  UINT nID;      // control ID (or 0 for windows messages)
  UINT nLastID;      // used for entries specifying a range of control id‘s
  UINT_PTR nSig;    // signature type (action) or pointer to message #
  AFX_PMSG pfn;   // routine to call (or special value)
};

 

1.5、OnWndMsg();这个函数负责处理消息映射机制宏中的消息。

1.6、

struct AFX_MSG_CACHE

{

  UINT nMsg;

  AFX_MSGMAP_ENTRY *lpEntry;

  AFX_MSGMAP *pMessageMap;

}

 

1.7、AfxFindMessageEntry(pMessageMap->lpEntries, message, 0, 0) != null

  如果,pMessageMap->lpEntries指向的数组中,有message消息,那么该函数返回数组中这个元素的地址,否则返回null

 

MFC宏消息处理机制的原理

原文:http://www.cnblogs.com/xiaohaige/p/7422662.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!