浅谈VS Ribbon命令按钮

开发 后端
这里介绍当我们点击某个VS Ribbon命令按钮时,就会执行相应的菜单命令响应函数。这样,我们就实现了菜单命令在Ribbon Bar的绑定,同时在界面上也能看到我们刚刚添加的命令按钮了。

Visual C++还是比较常用的,于是我研究了一下VS Ribbon命令按钮,在这里拿出来和大家分享一下,希望对大家有用。到现在为止,我们已经按照菜单式界面的开发流程,完成了资源的编辑和消息函数的实现。如果这时我们编译运行解决方案,我们在程序界面上看不到任何变化,因为我们还没有把这些命令绑定到Ribbon Bar的命令按钮上。在CMainFrame类中,它提供了一个专门的函数CMainFrame::InitializeRibbon()来完成 Ribbon界面的初始化工作,所以,我们在这个函数中添加如下代码,创建新的命令分组,然后将命令按钮映射到我们刚刚创建的菜单项。

  1. void CMainFrame::InitializeRibbon()  
  2. {  
  3. BOOL bNameValid;  
  4. ///…  
  5. //////////////////////////////////////////////////////////////  
  6. // 添加一个命令分组(Category)“RibbonUI Category”  
  7. CMFCRibbonCategory *pRibbonUICategory =  
  8. m_wndRibbonBar.AddCategory(_T("RibbonUI Category"),  
  9. IDB_WRITESMALL, IDB_WRITELARGE);  
  10.  
  11. // 添加一个面板(Panel)  
  12. CMFCRibbonPanel *pTestPanel = pRibbonUICategory->
    AddPanel(_T("RibbonUI Panel"), m_PanelImages.ExtractIcon(1));  
  13.  
  14. // 在面板上添加Ribbon命令按钮(CMFCRibbonButton)  
  15. pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYHELLO, _T("Say Hello"), 0, 0));  
  16. pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYHELLO, _T("Say Hello"), 1));  
  17. pTestPanel->Add(new CMFCRibbonButton(ID_EDIT_SAYGOODBYE, _T("Say Goodbye"), 2));  
  18. //////////////////////////////////////////////////////////////  
  19. ///…  

#t#在这段代码中,我们首先利用Ribbon Bar的AddCategory()函数,添加了一个新的命令分组(Category),也就是Ribbon Bar上的一个新的标签页。然后,我们在这个新创建的标签页中,添加了一个新的面板(Panel)。***,我们创建了三个VS Ribbon命令按钮 (CMFCRibbonButton),并将它们放置到面板中。通过指定跟菜单资源中的菜单项相同的资源ID,我们将这些VS Ribbon命令按钮跟我们之前创建的菜单项一一对应起来。当我们点击某个VS Ribbon命令按钮时,就会执行相应的菜单命令响应函数。这样,我们就实现了菜单命令在Ribbon Bar的绑定,同时在界面上也能看到我们刚刚添加的命令按钮了。

在这里,我们只是简单地向大家介绍了Ribbon界面的基本概念和大致的开发流程,要想开发跟Office 2007一样专业的Ribbon界面,我们还有很长的一段路要走,敬请关注本系列文章,创建面向Windows 7的用户界面。

责任编辑:佚名 来源: 博客园
相关推荐

2009-11-12 11:18:28

VS Ribbon界面

2011-08-16 14:50:05

CMFCToolBarVS2010

2009-11-13 09:37:42

Visual Stud

2019-09-24 16:16:40

Redis数据结构数据库

2013-12-26 16:55:56

manman命令

2010-07-20 14:50:05

telnet端口

2009-11-12 12:42:35

Visual Stud

2009-12-16 11:23:29

VS命令

2009-11-12 11:00:56

Visual C++

2009-11-13 09:05:05

Visual Stud

2009-08-26 09:09:57

Visual Stud

2020-10-27 07:31:35

GitGit RevertGit Reset

2011-03-10 14:41:54

Access 2007Ribbon功能区

2021-08-06 06:51:14

NacosRibbon服务

2019-09-19 14:55:01

物理CPU线程逻辑CPU

2011-06-01 14:18:41

JVM

2009-12-01 10:29:42

BSM

2019-05-22 10:43:16

Cgroups容器监控

2023-08-29 17:51:22

Ribbon客户端均衡器

2009-07-10 08:50:35

微软Windows 7界面
点赞
收藏

51CTO技术栈公众号