如何在MFC下对Ribbon界面进行重写

如何在MFC下对Ribbon界面进行重写,第1张

实际上,Ribbon界面(Office 2007风格的界面)的开发早在2008年就随着Visual C++ Feature Pack被引入到Visual Studio 2008中。在即将到来的Visual Studio 2010中,Ribbon界面的开发更是得到了原生的支持,使得Ribbon界面的开发更加简便高效。

首先,我们启动Visual Studio 2010,创建一个基于MFC的应用程序,项目模板我们选择“MFC Application”

在接下来的“MFC应用程序向导”中,我们就可以对项目的可视化风格进行选择和配置。Visual Studio 2010支持MFC风格、标准的Windows风格,Visual Studio 2005风格和Office 2007风格。而这里的Office 2007风格,就是我们要创建的Ribbon界面。

在接下来的向导页中,我们可以选择命令栏(工具栏。菜单栏)的样式,这里我们当然选择“Use a ribbon”了。当然,为了跟旧有的系统保持兼容,Visual Studio 2010也支持传统的命令式界面,如果你的用户比较保守,想继续使用传统的菜单式界面,我们可以选择“Use a menu bar and toolbar”

为了支持丰富的Office 2007界面风格,MFC默认情况下为MFC文档应用程序添加了类似Outlook风格的导航面板(Navigation pane)和标题条(Caption bar)。这两者并不是我们关注的重点,为了更好的展示Ribbon界面,我们这里就去掉这两个多余的面板。

到这里,针对新项目的设置就完成了,点击“Finish”按钮关闭应用程序向导,Visual Studio 2010就会按照我们的设置创建相应的MFC应用程序解决方案。编译运行这个解决方案,我们就得到了第一个具有Ribbon界面的应用程序。

在微软网站上,有六个示例代码:Windows Ribbon: Samples

网址是http://www.microsoft.com/en-us/download/details.aspx?id=9620

*** 作过程如下

1、首先找到图标元素,注意图片要**.ico结尾的,不是的话可以用一些软件来转化.然后在资源视图中添加ICON,导入想要的图片,导入成功后,默认ID为IDI_ICON1。

2、在Mainframe.h中的CMainFrame类中添加代码CImageList m_Imagelist

3、在Mainframe.cpp中的void CMainFrame::InitializeRibbon()中添加代码如下

m_Imagelist.Create(16,16,ILC_COLOR32,2,1)HICONhIcon=

AfxGetApp()-

LoadIcon(IDI_ICON1)

m_Imagelist.Add(hIcon)

这样添加图片完成

4、修改按钮图标:

//先添加热键面板

CMFCRibbonPanel* p_hotkey=

pCategoryHome-AddPanel(_T("热键"),m_PanelImages.ExtractIcon(7))

//添加新的按钮


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11229032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存