最近几天一直在研究Visual C++ 2010 rc版,特别是Ribbon的界面设计。也查找了不少资料,但是发现大家对于此的研究和讨论还是不够多,遇到几个问题一直备受困惑,还希望得到高手的指教。
Ribbon的界面设计在MFC中至少可以有三种方法,用XML语言编辑的那个没有研究暂且忽略吧,主要就是用Ribbon Designer,这个和对话框界面设计差不多的,就是打开Ribbon资源,然后往里面拖控件,如category、panel、button等,这样进行设计就行了。添加按钮还好说,添加一个事件处理程序就行了。麻烦的是Ribbon上可以添加Edit编辑框控件,但是却没有添加与控件绑定变量的方法,添加上Edit控件却用不了,这个多少有些尴尬。还请高手指引一个解决方法
还有一种设计方法就是实用代码手工处理了,以前有篇文章说,mfc中的CMainFrame类中有一CMainFrame::InitializeRibbon()函数,但是在VC2010 rc版里我找了半天也没有找到,包括添加消息、重载函数都没有找到这个。最后我在CMainFrame::OnCreate()函数里,通过添加代码实现了对于Ribbon的动态设计,不过这种设计并没有在Ribbon Designer中显示出来,只有在运行程序时才能够看到。通过代码动态设计应该说是解决我的第一个问题的一个方法,可以绑定Edit控件和变量了。
我的最大的问题就是不知道如何添加自定义的控件图标,在Ribbon设计时,有大图标和小图标,分别是large image index和small image index,分别对应着两个bitmap资源。但是系统提供的image collection可选的图标个数太少,设置按钮图标用不了几个就不够了,我现在不知道该如何才能多添加几个图标,通过编辑large image index的bitmap资源是没有效果的。
可能我对于mfc中图标相关操作的知识还不够充分,在此还请大家多多指教~~~谢谢~~~~
Ribbon的界面设计在MFC中至少可以有三种方法,用XML语言编辑的那个没有研究暂且忽略吧,主要就是用Ribbon Designer,这个和对话框界面设计差不多的,就是打开Ribbon资源,然后往里面拖控件,如category、panel、button等,这样进行设计就行了。添加按钮还好说,添加一个事件处理程序就行了。麻烦的是Ribbon上可以添加Edit编辑框控件,但是却没有添加与控件绑定变量的方法,添加上Edit控件却用不了,这个多少有些尴尬。还请高手指引一个解决方法
还有一种设计方法就是实用代码手工处理了,以前有篇文章说,mfc中的CMainFrame类中有一CMainFrame::InitializeRibbon()函数,但是在VC2010 rc版里我找了半天也没有找到,包括添加消息、重载函数都没有找到这个。最后我在CMainFrame::OnCreate()函数里,通过添加代码实现了对于Ribbon的动态设计,不过这种设计并没有在Ribbon Designer中显示出来,只有在运行程序时才能够看到。通过代码动态设计应该说是解决我的第一个问题的一个方法,可以绑定Edit控件和变量了。
我的最大的问题就是不知道如何添加自定义的控件图标,在Ribbon设计时,有大图标和小图标,分别是large image index和small image index,分别对应着两个bitmap资源。但是系统提供的image collection可选的图标个数太少,设置按钮图标用不了几个就不够了,我现在不知道该如何才能多添加几个图标,通过编辑large image index的bitmap资源是没有效果的。
可能我对于mfc中图标相关操作的知识还不够充分,在此还请大家多多指教~~~谢谢~~~~
我对两个bmp文件进行研究过了,但是没有出现自动的效果~~~能不能给具体传授点图标设计的知识啊,我在这一块学的不够扎实。
pElement->SetText("123456");其中的m_wndRibbonBar是CMFCRibbonBar定义的对象
这中方法和非Ribbon界面中的GetDlgItem用法类似,很简单。