彻底玩转MS ACCESS 2016功能区编程设计(04)
时 间:2018-03-15 09:23:03
作 者:Big Young ID:252 城市:襄阳
摘 要: 显示或隐藏系统内置的默认选项卡。
正 文:
显示或隐藏系统内置的默认选项卡
从前面的示例中我们已经了解到通过RibbonX类型的文档,通过XML语句来更改与重新定义Access的功能区,也可以通过功能区上的元素的关联VBA回调函数的属性来重新定义命令的执行内容及不同的操作。今天我们接下来学习一下如何控制系统默认的内置功能区的显示与隐藏的操作。
一、通常系统内置选项卡与用户定义选项卡的显示
用前面我们学到的方法创建一个新的示例数据,并按要求在库中创建一个名为“UsysRibbons”的系统表用于存放我们定义功能区的XML代码,再将下面的代码粘贴到系统表中:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="CustomTab" label="我的选项卡">
<group id="CustomGroup" label="自定义命令组" >
<button id="Btn01"
imageMso="HappyFace"
label="单击我显示Hello World!"
size="large"
onAction="Btn01_Click" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
完成后表的内容如下图4-1所示:
图4-1 添加了定义功能区的XML代码的表
然后再为我们定义的按钮创建一个VBA回调函数,代码如下:
'Callback for Btn01 onAction
Sub Btn01_Click(ByRef control As IRibbonControl)
MsgBox "Hello World! 您好,世界!" & Chr(13) & "您点击的命令按钮的ID是:" & control.Id & "。"
End Sub
代码窗口如图4-2所示:
图4-2 添加自定义按钮的回调函数
保存后关闭当前示例数据库,接下来再打开这个示例数据库我们会看到如图4-3所示的结果:
图4-3 添加了自定义选项卡的系统介面
用鼠标单击一下我们定义的带笑脸图标的命令按钮,会弹出一个信息框,如图4-4所示:
图4-4 测试自定义功能区命令
单击“确定”关闭信息框,一切表明我们自定义的功能区工作是正常的。通过观察我们会发现,默认的情况下在我们定义了自己的功能区选项卡后,系统内置的默认选项卡还继续显示在原来的位置,功能继续有效,使用不受任何影响。而我们自定义的选项卡则显示在系统选项卡的后面。
在实际开发应用程序解决方案的过程中,通常是不需要显示系统内置的默认选项卡的,这时我们就需要将其隐藏起来,不让最终用户访问它。
二、隐藏系统内置的默认选项卡
那么如何才能将系统内置的默认选项卡全部隐藏起来呢?这就要用到<ribbon>元素的属性:startFromScratch,这个属性的含义就是“从头开始”,就是说是否从头开始创建功能区,它可以是两个值中的一个,即“true”或“false”。如果其值为“true”,就表示从头开始创建,不依赖原来的功能区,也就是把系统内置的默认功能区选项卡全给隐藏起来。
下面我来为XML代码中的ribbon元素添加startFromScratch属性,并指定其值为true,修改后代码如下:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="true">
<tabs>
<tab id="CustomTab" label="我的选项卡">
<group id="CustomGroup" label="自定义命令组" >
<button id="Btn01"
imageMso="HappyFace"
label="单击我显示Hello World!"
size="large"
onAction="Btn01_Click" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
这时的数据表视图如下图4-5所示:
图4-5 加入startFromScratch属性后的数据表
再次保存并关闭数据库,然后再次打开,之后我们就可以看到如图4-6所示的效果。
图4-6 隐藏了系统内置选项卡后的介面
这时我们会发现了系统内置的选项卡及快速访问工具栏都被隐藏了,只剩下了“文件”选项卡,和我们自己定义的“我的选项卡”了。可能有朋友会问:不是说能隐藏系统全部内置的选项卡吗,怎么还有一个“文件”选项卡还在那里呢?实际上“文件”选项卡不是一个真正的功能区选项卡,或者说是一个特殊的选项卡,微软没有给我们提供直接隐藏它的手段,它在Access 2007中表现为Office按钮,Access 2010开始变成了现在的“文件”选项卡样式,在系统中被称着BackStage,主要用于放置处理整个应用程序和工具命令,关于对它自定义的相关问题以后我们专门讨论,这里就不详说了。
三、再现系统内置的默认选项卡
系统内置的选项卡被隐藏后,我们就无法直接通过其介面执行上面的命令了。如果还想在应用程序运行的过程中保持系统内置的功能区选项卡,就要再次将ribbon标签的startFromScratch属性设置为false就可以了。其实startFromScratch属性的默认值就是false,如果要保持系统内置的功能区选项卡也可以与本开头的例子一样,完全不为startFromScratch属性提供值,系统就直接采用它的默认值,系统的选项卡就不会被隐藏了。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)