文档章节

BCGControlBar中文教程之Ribbon Backstage视图(三)

Miss_Hello_World
 Miss_Hello_World
发布于 2016/09/05 10:05
字数 728
阅读 20
收藏 0

BCGControlBar Pro for MFC最新试用版下载请猛戳>>>

为了在应用程序中启用Backstage视图,您可以执行以下步骤。以下的指南假设Ribbon控件被定义为m_wndRibbonBar,应用程序按钮上显示的文本是"File",命令图片以图片列表的形式展示,视图项拥有一个资源ID IDB_FILESMALL。下面提到的图像索引假设您已经获得下面的图像列表:

Ribbon Backstage视图

11. 在资源编辑器汇总新增一个具有IDD_FORM_RECENTFILES ID的新的对话框资源。

12. 打开对话框的属性,并设置Style - Child、Border - None、Clip siblings - checked、Clip children - checked。

13. 将3个控件放置在该对话框中——静态文本"Recent Files"、集中在对话框客户端区域的列表框和它们之间的分隔符。IDC_RECENT_FILES ID分配给列表框、IDC_INFO_LABEL1分配给静态文本、IDC_SEPARATOR_1分配给分隔符:

Ribbon Backstage视图

14. 从CBCGPDialog中派生出一个类,然后命名为CBackStagePageRecentFiles。

15. 按照如下使用CBCGPRecentFilesListBox来替代标准的列表框:

  • 定义对话框成员CBC PRecentFilesListBox m_wndRecentFiles;
  • 在CBackStagePageRecentFiles:: DoDataExchange中添加DDX_CONTROL宏:DDX_Control(pDX, IDC_RECENT_FILES, m_wndRecentFiles);

16. 当父Backstage视图调整大小时使用自动调整功能使对话框上的所有空间自动对齐。为此将下面的代码添加到OnInitDialog中:

1

2

3

4

5

CBCGPStaticLayout* pLayout = (CBCGPStaticLayout*)GetLayout();

 

pLayout->AddAnchor(IDC_INFO_LABEL1, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeHorz);

pLayout->AddAnchor(IDC_SEPARATOR_1, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeHorz);

pLayout->AddAnchor(IDC_RECENT_FILES, CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeBoth);

此代码意味着静态文本空间不动,只是水平调整;分隔符空间不动,只是水平调整;列表控件不动,垂直和水平调整。

17. 现在我们回到初始代码,并添加一个全新的视图条目命名为"Recent":

1

2

3

CBCGPRibbonBackstageViewItemForm* pFormRecent = new CBCGPRibbonBackstageViewItemForm (IDD_FORM_RECENTFILES, RUNTIME_CLASS(CBackStagePageRecentFiles));

 

pBackstagePanel->AddView (0, _T("Recent"), pFormRecent);

18. 可能会在激活视图(激活的对话框)右下角显示一个水印图像。为此添加一个新的位图资源,并为其分配ID IDB_BS_WATERMARK。现在您可以通过调用SetWaterMarkImage为每个CBCGPRibbonBackstageViewItemForm或CBCGPRibbonBackstageViewItemPropertySheet对象设置水印图像。

19. 设置添加水印图像到"Recent"视图中:

1

pFormRecent->SetWaterMarkImage(IDB_BS_WATERMARK, RGB(0, 0, 192));

最后一个参数可以是相应于我们在步骤3设置的应用程序按钮颜色。

20. 添加最后一个命令"Exit":

pBackstagePanel->AddCommand (ID_APP_EXIT, _T("Exit"), 5 /* Image index */);

21. 现在,您可以编译并运行应用程序,同时可以在Backstage视图的右边查看6项条目:Save、Save As、Open、Close、Recent、Exit,其中有5个条目是命令,1个是视图("Recent")。当您单击命令时,Back Stage视图被关闭并执行单击的命令。当您选择一个视图条目 ("Recent")时,与MRU文件列表相对应的对话框将会显示在Backstage视图的右侧:

Ribbon Backstage视图

有兴趣的朋友可以击查看更多BCG资源>>

© 著作权归作者所有

Miss_Hello_World
粉丝 22
博文 668
码字总数 404202
作品 0
九龙坡
私信 提问
BCGControlBar中文教程之Ribbon Backstage视图(一)

BCGControlBar Pro for MFC最新试用版下载请猛戳>>> "Backstage View"引入到Microsoft Office 2010中来替代应用程序的菜单。当用户单击应用程序按钮时应用程序菜单会显示,并且当控件对整个文...

Miss_Hello_World
2016/08/25
17
0
BCGControlBar教程之Ribbon Backstage视图(二)

BCGControlBar Pro for MFC最新试用版下载请猛戳>>> 为了在应用程序中启用Backstage视图,您可以执行以下步骤。以下的指南假设Ribbon控件被定义为mwndRibbonBar,应用程序按钮上显示的文本是...

Miss_Hello_World
2016/08/30
51
0
BCGControlBar中文教程之Ribbon Designer(1/4)

BCGControlBar Pro for MFC最新试用版下载请猛戳>>> Ribbon Designer允许用户轻松地创建实际的应用程序原型。这里需要现有的MFC项目作为输入并生成一个带有RC文件的Ribbon元素的输出。当您使...

Miss_Hello_World
2016/09/19
49
0
vc第三方界面库BCGControlBar与Xtreme Toolkit对比

vc第三方界面库BCGControlBar与Xtreme Toolkit对比 BCGControlBar简介 BCGControlBar专业版(BCGControlBar Pro for MFC )是MFC的扩展类库,一直是MFC界面领域的老大哥,而且是微软合作商,对...

baobiaokongjian
2014/08/16
6.4K
0
BCGControlBar中文教程之Ribbon Designer(6/6)

BCGControlBar Pro for MFC最新试用版下载请猛戳>>> Ribbon Designer允许用户轻松地创建实际的应用程序原型。这里需要现有的MFC项目作为输入并生成一个带有RC文件的Ribbon元素的输出。当您使...

Miss_Hello_World
2016/10/25
32
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
315
7
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部