实例解析Visual Studio命令按钮

开发 后端
这里介绍Visual Studio命令按钮可以说是我们最常用的Ribbon控件了,我们通常都是通过Visual Studio命令按钮来发送某个命令,执行某个动作。

Visual Studio还是比较常用的,于是我研究了一下Visual Studio命令按钮,在这里拿出来和大家分享一下,希望对大家有用。Visual Studio命令按钮可以说是我们最常用的Ribbon控件了,我们通常都是通过Visual Studio命令按钮来发送某个命令,执行某个动作。

#t#它代替了过去的菜单命令,成为使用最频繁的 Ribbon控件。在Ribbon界面中,主要有三种形式的Visual Studio命令按钮:大图标按钮,小图标按钮以及表示选择的复选按钮(CheckBox)。

按照上回我们介绍的Ribbon界面开发流程,我们需要先准备菜单资源,图标资源,实现消息响应函数等,这里我们就不再赘述这一过程,而把重点放在如何创建Ribbon界面。下面的代码分别演示了这三种按钮的创建过程:

  1. // 创建一个新的面板,用于放置大图标按钮  
  2. CMFCRibbonPanel* pPanel1 = pCategory->AddPanel(_T("Large Buttons"));  
  3.  
  4. // 创建按钮  
  5. CMFCRibbonButton* pBtn1 = new CMFCRibbonButton(ID_RIBBON_BTN_1, _T("Button"), 0, 0);  
  6. // 指定使用大图标  
  7. pBtn1->SetAlwaysLargeImage();  
  8. // 将按钮添加到面板中  
  9. pPanel1->Add(pBtn1);  
  10.  
  11. CMFCRibbonButton* pBtn2 = new CMFCRibbonButton(ID_RIBBON_BTN_2, _T("Menu Button"), 1, 1);  
  12. // 可以通过SetMenu()函数为按钮设置一个子菜单  
  13. pBtn2->SetMenu(IDR_RIBBON_MENU_1);  
  14. pBtn2->SetAlwaysLargeImage();  
  15. pPanel1->Add(pBtn2);  
  16.  
  17. CMFCRibbonButton* pBtn3 = new CMFCRibbonButton(ID_RIBBON_BTN_3, _T("Split Button"), 2, 2);  
  18. pBtn3->SetMenu(IDR_RIBBON_MENU_1, TRUE);  
  19. pBtn3->SetAlwaysLargeImage();  
  20. // 可以通过RemoveSubItem()和AddSubItem()动态地改变按钮的子项目  
  21. pBtn3->RemoveSubItem(0);  
  22. pBtn3->AddSubItem(new CMFCRibbonButton(ID_RIBBON_MBTN_1, _T("Item 1"), 2), 0);  
  23. pPanel1->Add(pBtn3);  
  24.  
  25. // 创建新的面板,用于放置小图标按钮  
  26. CMFCRibbonPanel* pPanel2 = pCategory->AddPanel(_T("Small"));  
  27.  
  28. // 创建小图标按钮  
  29. CMFCRibbonButton* pBtn4 = new CMFCRibbonButton(ID_RIBBON_BTN_4, _T("Button"), 3);  
  30. pPanel2->Add(pBtn4);  
  31.  
  32. CMFCRibbonButton* pBtn5 = new CMFCRibbonButton(ID_RIBBON_BTN_5, _T("Menu Button"), 4);  
  33. pBtn5->SetMenu(IDR_RIBBON_MENU_1);  
  34. pPanel2->Add(pBtn5);  
  35.  
  36. CMFCRibbonButton* pBtn6 = new CMFCRibbonButton(ID_RIBBON_BTN_6, _T("Split Button"), 5);  
  37. pBtn6->SetMenu(IDR_RIBBON_MENU_1, TRUE);  
  38. pBtn6->SetAlwaysLargeImage();  
  39. pBtn6->RemoveSubItem(1);  
  40. pBtn6->AddSubItem(new CMFCRibbonButton(ID_RIBBON_MBTN_2, _T("Item 2"), 5), 1);  
  41. pPanel2->Add(pBtn6);  
  42.  
  43. //创建新的面板,用于放置复选按钮  
  44. CMFCRibbonPanel* pPanel3 = pCategory->AddPanel(_T("Check Boxes"));  
  45.  
  46. pPanel3->Add(new CMFCRibbonCheckBox(ID_RIBBON_BTN_7, _T("Check Box 1")));  
  47. pPanel3->Add(new CMFCRibbonCheckBox(ID_RIBBON_BTN_8, _T("Check Box 2")));  
  48. pPanel3->Add(new CMFCRibbonCheckBox(ID_RIBBON_BTN_9, _T("Check Box 3"))); 
责任编辑:佚名 来源: 中国IT实验室
相关推荐

2009-12-03 16:21:50

Visual Stud

2009-11-05 09:42:42

Visual Stud

2013-04-08 15:02:03

Visual Stud

2009-12-16 09:46:07

Visual Stud

2009-12-11 17:58:53

Visual Stud

2010-03-22 16:38:31

Visual Stud

2009-12-02 16:41:33

Visual Stud

2011-06-09 15:47:01

Qt Visual Stu

2009-12-04 15:33:23

Visual Stud

2010-02-24 09:32:38

Visual Stud

2023-09-05 07:32:22

vscode开源故障

2013-11-14 01:09:35

微软Visual StudVisual Stud

2010-03-26 16:02:10

Visual Stud

2009-12-02 09:43:38

Visual Stud

2019-09-19 08:00:00

Visual StudVisual Stud编程语言

2024-02-27 12:42:38

开发前端

2009-08-05 11:02:30

Visual Stud

2009-11-10 10:24:28

Visual Stud

2009-11-23 17:12:20

Visual Stud

2009-11-23 15:41:44

Visual Stud
点赞
收藏

51CTO技术栈公众号