Compartir a través de


Ejemplo UI Manager

Actualización: noviembre 2007

Nota:

Este ejemplo sólo se ejecuta en Microsoft Office Outlook 2007.

En este ejemplo se muestra cómo personalizar la interfaz de usuario de Microsoft Office Outlook 2007 implementando interfaces de extensibilidad en un complemento. Este ejemplo utiliza las interfaces de extensibilidad para crear una personalización de la cinta de opciones, un panel de tareas personalizado y un área de formulario personalizada.

El ejemplo también muestra una forma de coordinar los elementos personalizados de la interfaz de usuario para una ventana de inspector concreta. El código de este ejemplo garantiza que la personalización de la cinta de opciones, el panel de tareas personalizado y el área de formulario personalizada de un inspector puedan comunicarse correctamente entre sí. Deben comunicarse de una forma aislada de otras instancias de estos elementos personalizados de la interfaz de usuario que puedan estar abiertos en otros inspectores.

Por ejemplo, el usuario puede tener abiertos varios inspectores, cada uno con una cinta de opciones, un panel de tareas y un área de formulario personalizados. Cuando el usuario interactúa con uno de estos elementos (por ejemplo, hace clic en un botón de la cinta de opciones) puede producir un cambio en otro elemento (por ejemplo, ocultar el panel de tareas). El código debe asegurar que sólo se vean afectados los elementos de ese inspector determinado y no otras instancias de estos elementos personalizados de la interfaz de usuario de otros inspectores.

Este ejemplo utiliza un conjunto de clases que incluyen objetos de inspector y panel de tareas personalizado para garantizar que con cada tarea se muestra un nuevo panel de tareas y un mensaje de correo electrónico que abre el usuario. En el ejemplo también se crean botones de la cinta de opciones que se pueden utilizar para mostrar u ocultar el panel de tareas en cada tarea o mensaje de correo electrónico; además, muestra un área de formulario personalizada en cada tarea. Para obtener más información sobre la estructura de este ejemplo, vea Ejemplo Components of the UI Manager.

Para obtener información sobre la instalación del proyecto de ejemplo en el equipo, vea Cómo: Instalar y utilizar archivos de ejemplo de la Ayuda.

Nota:

Si bien en este ejemplo se utilizan interfaces de extensibilidad para crear una personalización de la cinta de opciones, un panel de tareas personalizado y un área de formulario, Visual Studio Tools para Office proporciona clases y diseñadores para este propósito. Estos diseñadores y clases simplifican el trabajo con estas características. Para obtener más información, vea diseñador de la cinta de opciones, Información general sobre los paneles de tareas personalizados y Crear áreas de formulario de Outlook.

Nota de seguridad:

Este ejemplo de código está pensado para explicar un concepto y sólo muestra el código relevante para ese concepto. Es posible que no cumpla los requisitos de seguridad de un entorno específico y no se debe usar exactamente como en el ejemplo. Se recomienda agregar código de seguridad y de control de errores para que los proyectos sean más sólidos y seguros. Microsoft proporciona este código de ejemplo "TAL CUAL" sin ninguna garantía.

Download sample

Para ejecutar este ejemplo

  1. Presione F5.

  2. En Outlook, cree una nueva tarea.

  3. En la cinta de opciones de la tarea, haga clic en la ficha Add-Ins.

  4. En el grupo UI Manager, haga clic en el botón TaskPane.

    Compruebe que el panel de tareas SimpleControl aparece junto a la ventana de tareas.

  5. En el grupo Show, haga clic en el botón UIM.

    Compruebe que el área de formulario personalizada aparece en el panel de lectura de la tarea abierta. El área de formulario muestra una lista de tipos de granos de café y un cuadro de texto que contiene el número de pedidos de café que se han realizado.

  6. Seleccione uno o varios tipos de granos de café en el área de formulario.

    Compruebe que los tipos de granos de café que selecciona se agregan al panel de tareas SimpleControl.

  7. En la cinta de opciones, en el grupo Add-in Services, haga clic en el botón Send.

    Compruebe que se envía un nuevo mensaje de correo electrónico al destinatario someone@example.com y que el mensaje de correo electrónico contiene todos los tipos de granos de café que ha seleccionado en el área de formulario.

    Dado que el mensaje de correo electrónico representa un pedido de café, el número de pedidos realizados se incrementa en el área de formulario.

Requisitos

Este ejemplo requiere las aplicaciones siguientes:

  • Visual Studio Tools para Office.

  • Microsoft Office Outlook 2007.

Demostraciones

En este ejemplo se muestran los conceptos siguientes:

  • Crear una personalización de la cinta de opciones implementando la interfaz Microsoft.Office.Core.IRibbonExtensibility en un complemento.

  • Crear un panel de tareas personalizado implementando la interfaz Microsoft.Office.Core.ICustomTaskPaneConsumer en un complemento.

  • Crear una área de formulario personalizada implementando la interfaz Microsoft.Office.Interop.Outlook.FormRegionStartup en un complemento.

  • Administrar y sincronizar la personalización de la cinta de opciones, el panel de tareas personalizado y el área de formulario en distintos mensajes de correo electrónico y tareas de Outlook.

Ejemplo Components of the UI Manager

La solución de ejemplo incluye dos proyectos:

  • Microsoft.Samples.Vsto.UiManager es un proyecto de complemento de Outlook. Este proyecto contiene las implementaciones de las interfaces de extensibilidad, además de otras clases y archivos que admiten estas implementaciones.

  • Microsoft.Samples.Vsto.AddinUtilities es una biblioteca de clases que incluye clases de administración de interfaz de usuario e interfaces que utiliza el proyecto de complemento de Outlook.

Estos proyectos proporcionan componentes que implementan el panel de tareas personalizado, la personalización de la cinta de opciones y el área de formulario, además de componentes que ayudan a sincronizar y administrar estas características.

Componentes de administración de la interfaz de usuario

En la tabla siguiente se describen los archivos de proyecto que proporcionan código para la personalización de la cinta de opciones.

Archivo

Descripción

ThisAddIn.cs/vb

Contiene la invalidación del método RequestService y código que crea un nuevo panel de tareas personalizado para cada ventana de inspector. Para obtener más información sobre este método, vea Personalizar características de la interfaz de usuario mediante interfaces de extensibilidad.

UserInterfaceContainer.cs/vb

Define la clase UserInterfaceContainer. Cada objeto UserInterfaceContainer administra el área de formulario, el panel de tareas y la personalización de la cinta de opciones de un solo mensaje de correo electrónico o tarea.

UserInterfaceElements.cs/vb

Define la clase UserInterfaceElements. Mantiene la colección de objetos UserInterfaceContainter que utiliza el complemento.

IFormRegionControls.cs/vb

IRibbonConnector.cs/vb

Define las interfaces que utilizan varias clases de los proyectos Microsoft.Samples.Vsto.UiManager y Microsoft.Samples.Vsto.AddinUtilities para comunicarse entre sí.

Componentes del panel de tareas personalizado

En la tabla siguiente se describen los archivos de proyecto que proporcionan código para el panel de tareas personalizado.

Archivo

Descripción

TaskPaneConnector.cs/vb

Define la clase TaskPaneConnector. Esta clase implementa la interfaz Microsoft.Office.Core.ICustomTaskPaneConsumer.

SimpleControl.cs/vb

Define el elemento UserControl que proporciona la interfaz de usuario del panel de tareas personalizado. Este control tiene atributos que exponen el control a COM.

Componentes de la cinta de opciones

En la tabla siguiente se describen los archivos de proyecto que proporcionan código para la personalización de la cinta de opciones.

Archivo

Descripción

RibbonConnector.cs/vb

Define la clase RibbonConnector. Esta clase implementa la interfaz Microsoft.Office.Core.IRibbonExtensibility.

SimpleRibbon.xml

TaskRibbon.xml

Contiene las cadenas XML de la cinta de opciones que devuelve el método GetCustomUI de la implementación de interfaz Microsoft.Office.Core.IRibbonExtensibility.

Componentes del área de formulario

En la tabla siguiente se describen los archivos de proyecto que proporcionan código para el área de formulario personalizada que se muestra en los inspectores de tarea.

Archivo

Descripción

FormRegionConnector.cs/vb

Define la clase FormRegionConnector. Esta clase implementa la interfaz Microsoft.Office.Interop.Outlook.FormRegionStartup.

FormRegionControls.cs/vb

Define una clase que administra los controles de cada instancia del área de formulario.

PictureConverter.cs/vb

Convierte un elemento Image en IPictureDisp que se puede utilizar para mostrar un icono en un área de formulario.

SimpleFormRegion.ofs

Define la interfaz de usuario del área de formulario.

SimpleFormRegion.xml

Contiene el manifiesto del área de formulario.

SimpleFormRegion.reg

Crea las entradas del Registro necesarias para cargar el área de formulario.

Vea también

Tareas

Ejemplo de demostración Task Pane

Conceptos

Personalizar características de la interfaz de usuario mediante interfaces de extensibilidad

diseñador de la cinta de opciones

Información general sobre los paneles de tareas personalizados

Administrar paneles de tareas personalizados en varias ventanas de la aplicación

Otros recursos

Ejemplos en el nivel de documento