在 Microsoft Office Outlook 中自定义功能区时,必须考虑自定义功能区在应用程序中的显示位置。 Outlook 在主应用程序用户界面(UI)中以及在用户执行某些任务(如创建电子邮件)时打开的窗口中显示功能区。 这些应用程序窗口命名为检查器。
适用于: 本主题中的信息适用于 Outlook 的 VSTO 外接程序项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
向主应用程序 UI 添加自定义功能区
Outlook 中的主要应用程序 UI 称为浏览器。 如果使用功能区(可视化设计器)项,可以通过在属性窗口中,单击功能区的RibbonType属性,然后选择Microsoft.Outlook.Explorer,将功能区添加到资源管理器。
向检查器分配功能区标签
通过指定与检查器的消息类对应的功能区类型来标识要自定义的检查器。
如果使用功能区(可视化设计器)项,请单击“属性”窗口中功能区的 RibbonType 属性,然后从值列表中选择一个或多个功能区 ID。
可以将多个功能区添加到项目。 如果多个功能区共享功能区 ID,请在项目中ThisAddin类中的CreateRibbonExtensibilityObject方法中进行重写,以便指定在运行时要显示的功能区。 有关详细信息,请参阅 功能区概述。 有关每个功能区类型的详细信息,请参阅 Outlook 2007 中自定义功能区的技术文章。
使用功能区 XML 指定功能区类型
如果使用功能区(XML)项,请检查方法中的 GetCustomUI 参数的值并返回相应的功能区。
该方法 GetCustomUI 由 Visual Studio 在功能区代码文件中自动生成。 ribbonID 参数是一个字符串,用于标识资源管理器或特定类型的检查器。 有关 ribbonID 参数可能值的完整列表,请参阅 Outlook 2007 中自定义功能区的技术文章。
下面的代码示例演示如何仅在检查器中 Microsoft.Outlook.Mail.Compose 显示自定义功能区。 这是当用户创建新电子邮件时打开的检查器。 要显示的功能区是在GetResourceText()功能区类中生成的方法中指定的。 有关 功能区 类的详细信息,请参阅 Ribbon XML。
public string GetCustomUI(string ribbonID)
{
string ribbonXML = String.Empty;
if (ribbonID == "Microsoft.Outlook.Mail.Compose")
{
ribbonXML = GetResourceText("Trin_RibbonOutlookBasic.Ribbon1.xml");
}
return ribbonXML;
}