技术开发 频道

Visual C++ 2010创建Ribbon界面(下)

  【IT168 专稿】上回我们介绍了Windows 7中对Ribbon界面的广泛应用,随着今天Windows 7 Beta1的公开测试,我们也逐渐感觉到Ribbon界面离我们越来越近了。作为程序员,我们做好了迎接Ribbon界面的准备了吗?

  第一篇:Visual Studio 2010 下一个Visual Studio 6.0

  第二篇:Visual Studio 2010 的自定义开始页

  第三篇:Visual Studio 2010中的多显示器支持

  第四篇:Visual Studio 2010中的调用继承树

  第五篇:C# 4.0中的动态类型和动态编程

  第六篇:使用Visual Studio 2010特性支持TDD

  第七篇:Visual Studio 2010特性支持Office

  第八篇:Visual Studio 2010中的Quick Search

  第十篇:Visual Studio 2010中的C++ IDE增强

  第十一篇:Visual C++ 2010创建Ribbon界面(上)

  第十三篇:Visual Studio 2010与VS2008全面比较

  在上回中,我们简单地介绍了开发Ribbon界面的一般流程,同时演示了如何创建包含命令按钮(CMFCRibbonButton)的简单Ribbon界面,相信很多朋友都跃跃欲试,想为自己的软件创建专业的Ribbon界面。但是,仅仅使用命令按钮是远远不能满足软件界面的交互需求的,同时也没有完全发挥Ribbon界面的强大威力。为了支持Ribbon界面,Visual Studio 2010为我们提供了很多控件,除了我们上回介绍的命令按钮(CMFCRibbonButton)之外,还有工具廊(CMFCRibbonGallery),颜色按钮(CMFCRibbonColorButton),编辑框(CMFCRibbonEdit),进度条(CMFCRibbonProgressBar)等等。合理地使用这些控件,我们可以创建丰富的Ribbon界面,增强软件的可用性。在这回中,我们就介绍一下如何使用这些控件,创建更加复杂的Ribbon界面,完成更加复杂的交互任务。

  为了更好地理解和创建Ribbon界面,在开始具体地介绍各种控件之前,我们先来了解一下Ribbon界面的结构层次。在上一回中,我们介绍了Ribbon界面主要由Ribbon面板(CMFCRibbonBar)构成,而Ribbon面板主要的主要分为三个层次:
  • 分类(CMFCRibbonCategory)



图1 分类


很明显,“分类”就是作用相近的一类命令的组合。例如在Word 2007的Ribbon界面中,微软将跟插入元素相关的命令都放在“Insert”这个页面中,当用户想在Word文档中插入其他元素时,只要切换到这一页就可以找到他需要的命令。在形式上,“分类”表现为Ribbon面板上的一个Tab页面。我们可以使用函数AddCategory()在Ribbon面板上添加一个新的“分类”:

// 添加一个命令分组(Category)“RibbonUI Category”
CMFCRibbonCategory *pRibbonUICategory =
                                m_wndRibbonBar.AddCategory(_T(
"RibbonUI Category"),                                                   
 IDB_WRITESMALL, IDB_WRITELARGE);

  • 面板(CMFCRibbonPanel)


图2 面板

“面板”是“分类”的下一个层次。它是联系更加紧密的一组命令的组合。面板总是被放置在某个“分类”中,被“分类”所包含。同时,“面板”又是一个容器,它包含着它的下一个层次“元素”。我们可以通过AddPanel()函数在“分类”中添加新的“面板”:

// 添加一个面板(Panel)
CMFCRibbonPanel *pTestPanel = pRibbonUICategory->AddPanel(_T("RibbonUI Panel"),                    
                                                                                              m_PanelImages.ExtractIcon(
1));
0
相关文章