惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 骑牛射雕

Visual Studio 安装 旧版本(.NET Framework 4.0 和 4.5) 安装程序提示SWbemObjectSet:无效类处理方案 线程池ThreadPool wpf combobox 绑定枚举 c# 相同类 赋值 WPF 使用Path绘制几何图形 Prism简介 WPF使用PATH来画圆 经过指定的时间后自动关闭的模式窗体 非对称加密 inno setup 安装前判断进程是否存在,以及停止相应进程 Inno Setup打包CreateProcess 740出错 C#委托与事件应用场景 X.509数字证书的结构与解析 C#action和func的使用 Oracle 分析函数(10G)语法详解 纯JS写的无刷新实时同步购物车系统 图片延时加载插件(lazyload) 几种调用WebService的方法
VSTO开发入门,CustomUI元素详解
骑牛射雕 · 2024-10-16 · via 博客园 - 骑牛射雕

通过CustomUI,可以对office界面进行各种自定义。上一篇文章中初步介绍了使用CustomUI可以自定义的五类界面。Office CustomUI有很多成员节点和属性,本文将对几种典型的节点和属性进行总结。

1

CustomUI自定义常用功能区的XML层次结构为:

  1. <customUI>
  2.    <ribbon>
  3.        <tabs>
  4.           <tab>
  5.                 <group>
  6.                           <control/>
  7.                 </group>
  8.           </tab>
  9.        </tabs>
  10.    </ribbon>
  11. </customUI>

上面这段代码很清晰地展示出层级结构。描述Office界面的XML最顶层节点是<customUI>,以下级别的节点均与自定义Office界面有关。<ribbon>表示功能区,<tabs>表示选项卡集合,<tab>表示单个选项卡,<group>表示选项卡中的一个功能组,<control>表示功能组中的具体功能控件。

常用的功能区选项卡可理解为三级层次结构:<tab>/<group>/<control>。下面将这三个层级逐一进行解读。

2

选项卡(tab)元素

<tab>常用属性有id(或idMso)、label、visible、insertBeforeMso(或insertAfterMso)。

id(或idMso)属性。CustomUI中的任何元素必须有id或idMso作为唯一标识,如果是软件内置缘啊输,必须用idMso;如果是用户自定义元素,必须用id,id的属性值可以是不重复的字符串。不仅仅是内置选项卡有idMso属性,内置组、内置控件都有相应的idMso属性。

label属性。元素的显示名称。可以更改内置元素的显示名称,也可以为新元素指定显示名称。

visible属性。元素是否可见。visible属性几乎可用于任何元素。

insertBeforeMso或insertAfterMso属性。用户自定义元素置于内置元素之前或之后。

3

组(group)元素

group的父级对象是tab,其下包含各种类型的control,也就是具体的功能控件。

group的常用属性和tab元素基本都一样,此处不重述。

4

控件(control)元素

group下面可以容纳16种控件(control):框(box)、按钮(button)、按钮组(buttonGroup)、复选框(checkBox)、组合框(comboBox)、通用控件(control)、弹出对话框(dialogBoxLauncher)、下拉控件(dropDown)、动态菜单(dynamicMenu)、编辑框(editBox)、库(gallery)、标签控件(labelControl)、菜单(menu)、分割线(separator)、拆分按钮(splitButton)、切换按钮(toggleButton)。

各个控件有相同的属性,也有不同的属性。下面以button为例,介绍控件的属性及用法。

imageMso属性。该属性用于指定按钮图标,微软提供了很多内置图标,每一个图标都有特定名称,例如“Call”就是一个电话图标。通过imageMso="Call"就为按钮指定一个电话图标。

size属性。office功能区中,在纵向一般最多排列3个控件,控件都是常规大小,若将size属性设定为large,则该控件单独占据一列。

supertip和screentip属性。鼠标悬浮时出现的提示文字。

onAction属性。这是按钮控件最重要的一个属性,该属性直接指向单击按钮时会调用的宏过程名称。