WTL提供一个机制,允许对同一个消息或命令,派发至不同的类。

   BEGIN_MSG_MAP( CBase )//默认处理0号消息映射
      MESSAGE_HANDLER( WM_DESTROY, OnDestroy1 )
      ALT_MSG_MAP( 100 )//处理来自100的消息映射
      MESSAGE_HANDLER( WM_DESTROY, OnDestroy2 )
   END_MSG_MAP()

 

在BEGIN_MSG_MAP中,默认只对消息ID是0的处理,ALT_MSG_MAP宏可以指定处理响应消息ID号。

如何设定消息是多少号呢?默认从系统发出的号都是0号,如果想改可以使用CHAIN_MSG_MAP_ALT_MEMBER

如:

BEGIN_MSG_MAP(CMainFrame)
     MESSAGE_HANDLER(WM_Create, OnCreate)
     CHAIN_MSG_MAP(CUpdateUI<CMainFrame>)
     CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)
CHAIN_MSG_MAP_ALT_MEMBER(m_view, 1)
END_MSG_MAP()

相关文章:

  • 2021-05-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
  • 2021-07-17
  • 2022-12-23
猜你喜欢
  • 2021-06-03
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2022-12-23
相关资源
相似解决方案