mfc按钮mfc消息响应函数数不调用

2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2012年4月 VC/MFC大版内专家分月排行榜第一
2012年5月 VC/MFC大版内专家分月排行榜第二2012年3月 VC/MFC大版内专家分月排行榜第二2011年7月 VC/MFC大版内专家分月排行榜第二2011年1月 VC/MFC大版内专家分月排行榜第二2010年12月 VC/MFC大版内专家分月排行榜第二2010年9月 VC/MFC大版内专家分月排行榜第二2010年6月 VC/MFC大版内专家分月排行榜第二2010年5月 VC/MFC大版内专家分月排行榜第二2010年4月 VC/MFC大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。2012年4月 VC/MFC大版内专家分月排行榜第一
2012年5月 VC/MFC大版内专家分月排行榜第二2012年3月 VC/MFC大版内专家分月排行榜第二2011年7月 VC/MFC大版内专家分月排行榜第二2011年1月 VC/MFC大版内专家分月排行榜第二2010年12月 VC/MFC大版内专家分月排行榜第二2010年9月 VC/MFC大版内专家分月排行榜第二2010年6月 VC/MFC大版内专家分月排行榜第二2010年5月 VC/MFC大版内专家分月排行榜第二2010年4月 VC/MFC大版内专家分月排行榜第二
2015年11月 扩充话题大版内专家分月排行榜第一2015年7月 扩充话题大版内专家分月排行榜第一2015年1月 扩充话题大版内专家分月排行榜第一2014年9月 扩充话题大版内专家分月排行榜第一(补)2013年9月 扩充话题大版内专家分月排行榜第一2013年8月 扩充话题大版内专家分月排行榜第一2013年7月 扩充话题大版内专家分月排行榜第一
2016年3月 扩充话题大版内专家分月排行榜第二2015年12月 扩充话题大版内专家分月排行榜第二2015年6月 扩充话题大版内专家分月排行榜第二2015年2月 扩充话题大版内专家分月排行榜第二2014年10月 扩充话题大版内专家分月排行榜第二2014年8月 扩充话题大版内专家分月排行榜第二
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
本帖子已过去太久远了,不再提供回复功能。查看: 6622|回复: 10
MFC里动态创建的按钮如何添加事件响应?
阅读权限70
银牌会员, 积分 2669, 距离下一级还需 331 积分
我想做的是创建大量的按钮,排成一个矩阵,,
要是一个一个拉的话,似乎 太麻烦 ,三五十个还勉强 ,上百个的话要彻底崩溃了,,
用代码动态创建的话,如何给按钮动态添加消息响应,高手指点下,谢谢。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2669, 距离下一级还需 331 积分
本帖最后由 天下无双 于
07:36 编辑
这似乎 是百度出来的,,我是在运行时动态产生的按扭,按钮个数 也是根据用户的输入来确定的,运行时只有EXE文件 ,没有头文件 和CPP文件 ,,那么如何来实现呢?
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
普通会员, 积分 158, 距离下一级还需 142 积分
楼主可以看看这个:
参考ON_COMMAND_RANGE:如:
afx_msg& &void& &OnIndexComp(UINT& &wParam,& &LONG& &lParam);
ON_COMMAND_RANGE(IDM_VIEW_SETTING_CHART1,& &IDM_VIEW_SETTING_CHART39,& &OnIndexComp)
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限50
高级会员, 积分 751, 距离下一级还需 49 积分
就是模仿拖控件产生事件那样的自己添加代码
当你在资源里拖进来一个控件,双击添加事件的时候,向导会自动产生一些代码,有3个地方:
1,在头文件生成事件函数的声明。
2,在CPP文件里生成一个响应事件的函数,onbutton()类似的。
3,在CPP文件的消息映射表里添加一行消息映射(就是把这个按钮控件和事件响应函数关联起来,这里填进去的是控件的ID)
同样地,你用create()动态创建一个按钮的时候,最后一个参数是要你给按钮设置一个ID,在后面自己手动添加事件响应代码的时候可以用得上。
具体可以参考孙鑫的《VC++深入详解》逃跑按钮那一章。
希望对你有帮助!
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限100
二楼的是正解。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2669, 距离下一级还需 331 积分
给点代码 参考参考 ,我现在在用纯SDK实现,,MFC不如道 该如何 做。
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
中级会员, 积分 385, 距离下一级还需 115 积分
刚做了一个 不知道你要的是不是这样的
vc2008 mfc
想自动创建多少个可以从数组中自定义
消息响应: ON_CONTROL_RANGE
响应函数: DeleteButton
本帖子中包含更多资源
才可以下载或查看,没有帐号?
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限90
复制粘贴不行吗?
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限70
银牌会员, 积分 2669, 距离下一级还需 331 积分
嗯嗯 ,,原来可以这样关联消息,,学习了,,,谢谢
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限50
高级会员, 积分 751, 距离下一级还需 49 积分
一个字一个字码的竟然说我百度的 你去百度找找完全一样的字看看!&&
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
新手上路, 积分 25, 距离下一级还需 25 积分
谁有附件?
发帖求助前要善用【】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
站长提醒 /2
本着让大家学习到更多更好的VC++编程技术,选择一个适合自己的方向发展下去。VC驿站从即日起招聘教程讲师,主要是VC++方向,可以涉及安全类、破解类、编程开发类等等。
期待您的加盟。。。
为了能给广大编程爱好者提供一个更好的学习交流平台,从即日起面向广大网友特举办《发原创得奖励》活动。Vip教程,驿站U盘,无线鼠标 免费送,礼品丰厚,赶快来参加吧!
VC驿站微信公众号cctry2009
Powered by Discuz! X3.32011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
本帖子已过去太久远了,不再提供回复功能。有时我们需要这么做, 手动模拟按钮按下的事件, 让程序做出与按钮真的按下时一样的响应.
&& 设按钮ID为ID_BTN_OK, 当前Dialog窗口.
&& 实际上系统并不能区分按钮是真的按下了(如用鼠标点击), 还是一个我们自己用代码模拟出的一种&假象&.
它所需要知道的只是哪个窗口(按钮也是一种窗口)发生了哪一种事件, 然后在消息循环中处理它. 系统怎么才
能知道这些呢? 当然靠的是消息(message), 我们只需按照Windows或者MFC的标准格式把相应的信息传给系统,
系统就会&上当&了.
&& 向系统传递消息可以用SendMessage或PostMessage(可能还有其他很多函数哦), 但SendMessage执行后系统
会一直等待, 直到要发送的消息被处理掉. 而PostMessage可不管那么多, 发送消息后立即返回程序流程. 当
按钮按下的响应函数中有很大一个循环时, 用SendMessage会出现许多问题, 尤其是要在程序初始化阶段模拟时,
会导致窗体无法完成初始化. 所以我们用PostMessage(). 它的原型为:
&& 这样写; &&
&&这里, WM_COMMAND是要发送的消息, MAKEWPARAM宏是为了组成一个WPARAM,WM_COMMAND消息的WPARAM的低字为控件ID,高字为识别码, 最后一个参数LPARAM可为NULL.相关定义可查看MSDN.
&&这样我们就把必需的信息格式化好发送给系统了. 当系统在消息循环中收到该消息时, 就知道哦, 你要引发控件ID_BTN_OK
的事件BN_CLICKED, 好的我帮你处理. 于是我们就惊喜地看到按钮看起来真的按下去了, 并执行了和真正按下去时一样的代码.
看评论说不管用,我又试验了一下。新建一个对话框工程,在对话框上添加一个按钮,ID为IDC_BTN_TEST,单击它,为它添加ON_BN_CLICKED消息响应函数:
然后在对话框的OnInitDialog()函数的return TRUE前加上:
好了,再运行程序,会弹出个消息框 “OK”,说明模拟正确。
愿网址为:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:19658次
排名:千里之外
原创:16篇
转载:26篇
(2)(7)(1)(4)(2)(9)(2)(2)(6)(5)(2)

我要回帖

更多关于 mfc按钮响应函数 的文章

 

随机推荐