老伙计原创,转载请注明出处。
因为微软自从visual studio6.0以后,就开始走.net 路线, 所以Visaul c++一直都是使用6.0的版本,偶尔试用高版本的viusal studio,也基本上是使用c#,没有使用visual c++,这次为了使用Ribbon控件,也是为了试用一下visual c++2012,赶赶时髦(挺cppblog上一个牛人说visual c++ 2012的代码编辑非常好用,想感受一下也是一方面),碰到了一些问题,记录一二。
![](https://img-my.csdn.net/uploads/201301/23/1358903405_1118.png)
刚一上来,直接用向导生成界面,运行,没问题,还挺漂亮,
![](https://img-my.csdn.net/uploads/201301/23/1358903426_7571.png)
![](https://img-my.csdn.net/uploads/201301/23/1358903433_9066.png)
左键,右键,怎么都弄不出来了,显示也不正确了.悲剧的是已经保存了,连撤销操作都做不了.好在咱刚刚开始,工程删了,重新建,结果这回事正常的没有问题,随着程序不停的增加,需要增加一个界面控件,结果又变成了这个样子.晕菜,要崩溃了.于是寻找办法,左键右键,在资源视图上右键,结果有一项"打开二进制数据",
![](https://img-my.csdn.net/uploads/201301/23/1358903442_9270.png)
打开一个是ribbon的描述文件,一打眼就知道是xml格式,内心不禁的欢呼,直接在这里修改不久完事了么,谁知道往后才是让人更崩溃的.
首先就是这个用二进制打开的xml文件,所有的内容都在一行上,怎么看啊,简直要人老命啊,于是发挥了吃苦耐劳的精神,手动格式化了这个文件,很容易的就看明白了这个文件的结构,修改了以后,保存,结果悲剧的是,可视化编辑环境没有响应的更新,也找不到更新的文件,在可视化里面有超做了一番,回头想在看看二进制文件,打开一看傻眼了, 所有的内容又变成了一行了.天呀,这个怎么办啊.我就不信邪了,对付不了他,于是上网找了一个xml格式化的小软件,这回......嘿嘿.......
但还是无法解决可视化编辑器无法编辑的问题,可又觉得大名鼎鼎的东西,都被vs集成了,难道还有如此低级的BUG,也回想了想,自己与通常的操作,有什么不一样的地方,想起来,自己都把caption给清空了,想添加进来,但悲剧的是根本就无法选中 ,更谈不上修改了.于是尝试把类别的caption 清空(修改都不行),结果神奇的事情发生了,所有的面板都从新布局了,无法选中的,都能选中了,,隐藏起来的都显示出来了,
![](https://img-my.csdn.net/uploads/201301/23/1358903442_9270.png)
还真是误打误撞给弄出来了,但同时回头思考,觉得这个问题可能还真不知道的就是RIBBON的bug,还是微软集成的时候兼容做的不好, 不过后来想想呢,也能理解,微软这些年来,不遗余力的推.net架构, mfc淘汰已经是不争的事实,之所以没有完全放弃,是为了不想放弃一些高性能软件的市场,但是呢,微软为vc所做的东西实在是乏善可陈, 如果用vc来编写托管的代码,毫无必要和优势可言.之所以集成了ribbon,bcg之类的界面库也不过是为了聊胜于无,并且ribbon的编码风格和mfc不太一样,也会导致使用的一些不习惯.
原来弄过一次wxwidgget, 就是这类莫名其妙的问题一大堆, 微软为了移动消费类电子设备,重新搞了一个WINRT,不知道未来会怎么样,但是个人建议如果系统界面要求不高注重性能,那么win32 SDK是最好的选择(不是mfc),界面问题完全可以自己扩展一部分,对于一般的应用是i足够的,毕竟我们不是做office,这样的软件。如果对界面要求高(是界面复杂,不是华丽,华丽跟这个没有关系,华丽只跟你的审美有关),性能要求不高,那么未来10年wpf应该还是可以选择一下的(我曾经用wpf实现了SCADA的全部功能,对于监控来说应该是够用的)。