Share via


RibbonMenu (Interfaz)

Representa un menú en una ficha de la cinta de opciones o en el menú de Microsoft Office.

Espacio de nombres:  Microsoft.Office.Tools.Ribbon
Ensamblado:  Microsoft.Office.Tools.Common (en Microsoft.Office.Tools.Common.dll)

Sintaxis

'Declaración
<GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")> _
Public Interface RibbonMenu _
    Inherits RibbonControl, RibbonComponent, IComponent, IDisposable
[GuidAttribute("59dc7f42-aca2-484a-9622-1ee34a6cfd7d")]
public interface RibbonMenu : RibbonControl, 
    RibbonComponent, IComponent, IDisposable

El tipo RibbonMenu expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública ControlSize Obtiene o establece el tamaño del menú.
Propiedad pública Description Obtiene o establece el texto que aparece en el menú actual.
Propiedad pública Dynamic Obtiene o establece un valor que indica si se puede modificar el menú en tiempo de ejecución.
Propiedad pública Enabled Obtiene o establece un valor que indica si este objeto RibbonControl está habilitado. (Se hereda de RibbonControl).
Propiedad pública Id Obtiene una cadena que Microsoft Office usa para identificar este objeto RibbonControl. (Se hereda de RibbonControl).
Propiedad pública Image Obtiene o establece la imagen que se muestra en el menú.
Propiedad pública ImageName Obtiene o establece el nombre que se puede usar en el controlador de eventos LoadImage para identificar una imagen del menú.
Propiedad pública Items Obtiene la colección de controles que están en el menú.
Propiedad pública ItemSize Obtiene o establece el tamaño de los controles en el menú.
Propiedad pública KeyTip Obtiene o establece la tecla de acceso del teclado del menú.
Propiedad pública Label Obtiene o establece el texto que se muestra en el menú.
Propiedad pública Name Obtiene o establece el nombre de este objeto RibbonComponent. (Se hereda de RibbonComponent).
Propiedad pública OfficeImageId Obtiene o establece la imagen que se va a mostrar en el menú si desea utilizar un icono integrado de Microsoft Office.
Propiedad pública Parent Obtiene un objeto RibbonComponent que representa el elemento primario de este objeto RibbonComponent. (Se hereda de RibbonComponent).
Propiedad pública Position Obtiene o establece la posición del menú si está en el menú de Microsoft Office.
Propiedad pública Ribbon Obtiene el objeto Ribbon de nivel superior que contiene la jerarquía de controles. (Se hereda de RibbonComponent).
Propiedad pública RibbonUI Infraestructura. Obtiene la instancia de IRibbonUI que la aplicación de Microsoft Office proporciona al código de extensibilidad de la cinta. (Se hereda de RibbonComponent).
Propiedad pública ScreenTip Obtiene o establece el texto de sugerencia que aparece cuando el usuario mueve el puntero sobre el menú.
Propiedad pública ShowImage Obtiene o establece un valor que indica si está visible la imagen asociada al menú.
Propiedad pública ShowLabel Obtiene o establece un valor que indica si está visible la etiqueta del menú.
Propiedad pública Site Obtiene o establece la interfaz ISite asociada a la interfaz IComponent. (Se hereda de IComponent).
Propiedad pública SuperTip Obtiene o establece el texto informativo de varias líneas que aparece cuando el usuario mueve el puntero sobre el menú.
Propiedad pública Tag Obtiene o establece los datos específicos de la aplicación que están asociados a este objeto RibbonComponent. (Se hereda de RibbonComponent).
Propiedad pública Title Obtiene o establece el título que se muestra cuando el usuario expande un menú que se ha agregado al menú de Microsoft Office.
Propiedad pública Visible Obtiene o establece un valor que indica si este objeto RibbonControl está visible. (Se hereda de RibbonControl).

Arriba

Métodos

  Nombre Descripción
Método público Dispose Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. (Se hereda de IDisposable).
Método público PerformDynamicLayout Llama al método Microsoft.Office.Core.IRibbonUI.InvalidateControl del control principal si RibbonComponent tiene un elemento primario dinámico, como un menú dinámico, y no se suspende el diseño. (Se hereda de RibbonComponent).
Método público PerformLayout Llama a Microsoft.Office.Core.IRibbonUI.InvalidateControl si el objeto RibbonComponent tiene un elemento primario y no se ha suspendido el diseño. (Se hereda de RibbonComponent).
Método público ResumeLayout() Invierte el efecto del método SuspendLayout. (Se hereda de RibbonComponent).
Método público ResumeLayout(Boolean) Invierte el efecto del método SuspendLayout. (Se hereda de RibbonComponent).
Método público SuspendLayout Evita que la aplicación de Microsoft Office actualice el estado de los controles de la cinta de opciones. (Se hereda de RibbonComponent).

Arriba

Eventos

  Nombre Descripción
Evento público Disposed Representa el método que controla el evento Disposed de un componente. (Se hereda de IComponent).
Evento público ItemsLoading Se produce cuando los controles o los menús anidados se cargan en el menú actual en tiempo de ejecución.

Arriba

Comentarios

Visual Studio crea un objeto RibbonMenu cuando se arrastra un control Menú desde la pestaña Controles de la cinta de opciones de Office del Cuadro de herramientas hasta el diseñador de la cinta de opciones.

Puede crear un RibbonMenu en tiempo de ejecución utilizando el método CreateRibbonMenu del objeto RibbonFactory.

Existen dos maneras de obtener acceso al objeto RibbonFactory:

  • Mediante la propiedad Factory de la clase Ribbon. Utilice este enfoque para código en la clase Ribbon.

  • Mediante el método Globals.Factory.GetRibbonFactory. Utilice este enfoque para código fuera de la clase Ribbon.

Tareas comunes

En la tabla siguiente se muestran los miembros que son útiles para las tareas comunes. Todas estas tareas se pueden realizar en tiempo de diseño. Algunas de estas tareas se pueden realizar en tiempo de ejecución sólo antes de que la cinta de opciones se cargue en la aplicación de Office o antes de que el control se agregue a un menú dinámico en tiempo de ejecución. Para obtener más información, vea Información general sobre el modelo de objetos para la cinta de opciones.

Tarea

Miembro

Muestre una imagen en el menú.

Use la propiedad Image o ImageName.

También puede reutilizar las imágenes que aparecen en los controles Ribbon integrados. Para ello, establezca OfficeImageId en el Id. de una imagen de Microsoft Office integrada que desee mostrar como icono para el menú.

Cambie el tamaño del menú.

Establezca la propiedad ControlSize en el valor que desee. Por ejemplo, para un menú grande, establézcala en Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Cambie el tamaño de los elementos en el menú.

Establezca la propiedad ItemSize en el valor que desee. Por ejemplo, para mostrar elementos grandes, establézcala en Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Habilite los cambios al menú en tiempo de ejecución (por ejemplo, para permitir agregar los controles al menú en tiempo de ejecución).

Establezca la propiedad Dynamic en true.

Tenga acceso a los controles en el menú, agregue los controles al menú o quite los controles del menú.

Utilice la propiedad Items.

Agregue un menú al menú, a un grupo o a otro control de Microsoft Office que puedan contener menús.

Agregue RibbonMenu a la propiedad Items del menú, grupo o control de Microsoft Office.

Nota

Esta interfaz está implementada por el motor en tiempo de ejecución de Visual Studio Tools para Office. No está prevista su implementación en el código. Para obtener más información, vea Información general sobre el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office.

Uso

Esta documentación describe la versión de este tipo que se utiliza en los proyectos de Office destinados a .NET Framework 4. En los proyectos destinados a .NET Framework 3.5, este tipo puede tener miembros diferentes y es posible que los ejemplos de código proporcionados para dicho tipo no funcionen. Para informarse sobre este tipo en los proyectos destinados a .NET Framework 3.5, vea la siguiente sección de referencia en la documentación de Visual Studio 2008: https://go.microsoft.com/fwlink/?LinkId=160658.

Ejemplos

En el ejemplo siguiente se muestran cómo agregar y rellenar en tiempo de ejecución un submenú a un menú existente.

Para obtener un ejemplo más completo en el que se actualizan los controles en tiempo de ejecución y se obtienen datos de la base de datos de ejemplo AdventureWorks utilizando Language-Integrated Queries (LINQ), vea Tutorial: Actualizar los controles de una cinta de opciones en tiempo de ejecución.

Para poder ejecutar este ejemplo de código, primero debe seguir este procedimiento:

  1. Agregue un elemento Cinta (diseñador visual) a un proyecto de Office.

  2. Agregue un grupo a la ficha personalizada.

  3. Agregue un menú al grupo.

  4. Establezca la propiedad (Name) del menú en CustomerMenu.

  5. Establezca la propiedad Label del menú en Customers.

  6. Establezca la propiedad Dynamic del menú en true.

    De este modo, se pueden agregar y quitar controles del menú en tiempo de ejecución después de que se haya cargado la cinta de opciones en la aplicación de Office.

Private Sub PopulateCustomerMenu()
    ' Add two sub-menus to EmployeeMenu and populate each sub-menu
    ' First sub-menu
    Dim subMenu1 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu1.Dynamic = True
    subMenu1.Label = "A - M"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Hall, Don"
    subMenu1.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu1.Items.Last(), RibbonToggleButton).Label = "Valdez, Rachel"
    CustomerMenu.Items.Add(subMenu1)

    ' Second sub-menu
    Dim subMenu2 As RibbonMenu = Me.Factory.CreateRibbonMenu()
    subMenu2.Dynamic = True
    subMenu2.Label = "N - Z"
    subMenu2.Items.Add(Me.Factory.CreateRibbonToggleButton())
    CType(subMenu2.Items.Last(), RibbonToggleButton).Label = "Robinson, Alex"
    CustomerMenu.Items.Add(subMenu2)

End Sub
private void PopulateCustomerMenu()
{
    // Add two sub-menus to EmployeeMenu and populate each sub-menu
    // First sub-menu
    RibbonMenu subMenu1 = this.Factory.CreateRibbonMenu();
    subMenu1.Dynamic = true;
    subMenu1.Label = "A - M";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Hall, Don";
    subMenu1.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu1.Items.Last()).Label = "Valdez, Rachel";
    CustomerMenu.Items.Add(subMenu1);

    // Second sub-menu
    RibbonMenu subMenu2 = this.Factory.CreateRibbonMenu();
    subMenu2.Dynamic = true;
    subMenu2.Label = "N - Z";
    subMenu2.Items.Add(this.Factory.CreateRibbonToggleButton());
    ((RibbonToggleButton)subMenu2.Items.Last()).Label = "Robinson, Alex";
    CustomerMenu.Items.Add(subMenu2);
}

Vea también

Referencia

Microsoft.Office.Tools.Ribbon (Espacio de nombres)

Otros recursos

Información general sobre la cinta de opciones

Diseñador de la cinta de opciones

Información general sobre el modelo de objetos para la cinta de opciones

Cómo: Iniciarse en la personalización de la cinta de opciones