问题描述:
问题1)
这两天在使用VC2010时,在Ribbon上添加几个按钮时采用了复制粘贴,发现不妥,然后就删除掉了,重新添加按钮,添加消息后按钮不响应,根据之前的经验,肯定是对应的ID出现重复了,于是,打开resource.h文件,果然,以前有一个ID_BUTTON2的ID与新添加的按钮的ID重了,而且后续的按钮ID出现了不连续的情况。于是,手动修改,重复的ID+1,其他顺延~~
结果呢?并没有恢复成想象的那样,问题依旧。不想在这个问题上纠结,于是找出以前的版本,重新修改,这次不复制了,直接添加按钮,重做。
刚开始添加的几个按钮还好,一切正常,后面的几个就出现问题了。再次打开RESOURCE.H文件,问题照旧,无解。
差点放弃了,后来又打开*.RC文件,发现并没有RIBBON的信息,于是在网上查阅RIBBON的设计相关资料,发现RIBBON的东西都放在RES\ribbon.mfcribbon-ms文件中,于是打开这个XML编写的文件
好长一串!
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AFX_RIBBON><HEADER><VERSION>1</VERSION></HEADER><RIBBON_BAR><ELEMENT_NAME>RibbonBar</ELEMENT_NAME><ENABLE_TOOLTIPS>TRUE</ENABLE_TOOLT...............
居然没有按XML格式缩进显示
但是在里面发现了RIBBON上放置的BUTTON的ID,果然,resource.h里面的按钮的ID与该XML描述的ID不一样啊~~,改成一样的,重新编译,OK,消息映射正常。
问题2)
后来又在RIBBON上放置BUTTON,又出现问题了!!
居然在ribbon.mfcribbon-ms里面没有找到刚添加的ID_BUTTON_XXXX,为什么???
没办法,既然掉了,就按照其他正常的BUTTON的格式,一句一句添加进去了。重新编译,OK
几点感概:
1)RESOURCE.H还是不要随便动为妙
2)最好还是不要复制资源,一个一个自己做吧,不用RIBBON的话,其他正常啊~~~
3)RIBBON出现ID遗失或XML描述不全究竟怎么引起的?还搞不清楚,那就勤快一点了。