是否可以编程实现 MFC 中 BEGIN_MESSAGE_MAP 的内容

ErisX 2015-11-24 09:22:24
我想给某些按钮动态添加消息响应函数,但是MFC中一般都是自动生成,或者是手动添加的方式完成,可否编程完成响应的这部分的动作。
...全文
273 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2016-01-22
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
gz_qmc 2015-12-11
  • 打赏
  • 举报
回复
#define BEGIN_MESSAGE_MAP(theClass, baseClass) \ const AFX_MSGMAP* theClass::GetMessageMap() const \ { return &theClass::messageMap; } \ AFX_COMDAT AFX_DATADEF const AFX_MSGMAP theClass::messageMap = \ { &baseClass::messageMap, &theClass::_messageEntries[0] }; \ AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \ { \ #endif #define END_MESSAGE_MAP() \ {0, 0, 0, 0, AfxSig_end, (AFX_PMSG)0 } \ }; \
gz_qmc 2015-12-05
  • 打赏
  • 举报
回复
话说自定义消息就是干这事的
redui 2015-11-26
  • 打赏
  • 举报
回复
3楼正解,使用范围类型的消息宏,然后动态创建按钮时设定其ID在此范围内即可
zgl7903 2015-11-25
  • 打赏
  • 举报
回复
重载WindowProc 在里面处理
信阳毛尖 2015-11-24
  • 打赏
  • 举报
回复
子类化,调用SetWindowLong设置GWL_WNDPROC
oyljerry 2015-11-24
  • 打赏
  • 举报
回复
主要就是各种消息注册 回调处理
worldy 2015-11-24
  • 打赏
  • 举报
回复
要给某些按钮动态添加消息响应函数,你可以使用ON_COMMAND_RANGE,这个宏可以将某个范围的ID映射到一个函数中,再在函数中根据ID值进行处理
worldy 2015-11-24
  • 打赏
  • 举报
回复
使用MFC机制情况下,不可以。MESSAGE_MAP实际是一个静态数组,编译的时候必须确定大小

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧