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 | |
---|---|---|
ControlSize | Obtiene o establece el tamaño del menú. | |
Description | Obtiene o establece el texto que aparece en el menú actual. | |
Dynamic | Obtiene o establece un valor que indica si se puede modificar el menú en tiempo de ejecución. | |
Enabled | Obtiene o establece un valor que indica si este objeto RibbonControl está habilitado. (Se hereda de RibbonControl). | |
Id | Obtiene una cadena que Microsoft Office usa para identificar este objeto RibbonControl. (Se hereda de RibbonControl). | |
Image | Obtiene o establece la imagen que se muestra en el menú. | |
ImageName | Obtiene o establece el nombre que se puede usar en el controlador de eventos LoadImage para identificar una imagen del menú. | |
Items | Obtiene la colección de controles que están en el menú. | |
ItemSize | Obtiene o establece el tamaño de los controles en el menú. | |
KeyTip | Obtiene o establece la tecla de acceso del teclado del menú. | |
Label | Obtiene o establece el texto que se muestra en el menú. | |
Name | Obtiene o establece el nombre de este objeto RibbonComponent. (Se hereda de RibbonComponent). | |
OfficeImageId | Obtiene o establece la imagen que se va a mostrar en el menú si desea utilizar un icono integrado de Microsoft Office. | |
Parent | Obtiene un objeto RibbonComponent que representa el elemento primario de este objeto RibbonComponent. (Se hereda de RibbonComponent). | |
Position | Obtiene o establece la posición del menú si está en el menú de Microsoft Office. | |
Ribbon | Obtiene el objeto Ribbon de nivel superior que contiene la jerarquía de controles. (Se hereda de RibbonComponent). | |
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). | |
ScreenTip | Obtiene o establece el texto de sugerencia que aparece cuando el usuario mueve el puntero sobre el menú. | |
ShowImage | Obtiene o establece un valor que indica si está visible la imagen asociada al menú. | |
ShowLabel | Obtiene o establece un valor que indica si está visible la etiqueta del menú. | |
Site | Obtiene o establece el ISite asociado a IComponent. (Se hereda de IComponent). | |
SuperTip | Obtiene o establece el texto informativo de varias líneas que aparece cuando el usuario mueve el puntero sobre el menú. | |
Tag | Obtiene o establece los datos específicos de la aplicación que están asociados a este objeto RibbonComponent. (Se hereda de RibbonComponent). | |
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. | |
Visible | Obtiene o establece un valor que indica si este objeto RibbonControl está visible. (Se hereda de RibbonControl). |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Dispose | Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. (Se hereda de IDisposable). | |
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). | |
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). | |
ResumeLayout() | Invierte el efecto del método SuspendLayout. (Se hereda de RibbonComponent). | |
ResumeLayout(Boolean) | Invierte el efecto del método SuspendLayout. (Se hereda de RibbonComponent). | |
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 | |
---|---|---|
Disposed | Representa el método que controla el evento Disposed de un componente. (Se hereda de IComponent). | |
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 Runtime de Microsoft 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
En esta documentación se describe la versión de este tipo que se usa en los proyectos de Office destinados a .NET Framework 4 y .NET Framework 4.5. En los proyectos destinados a .NET Framework 3.5, este tipo podría tener unos miembros diferentes y los ejemplos de código de este tipo podrían no funcionar. 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:
Agregue un elemento Cinta (diseñador visual) a un proyecto de Office.
Agregue un grupo a la ficha personalizada.
Agregue un menú al grupo.
Establezca la propiedad (Name) del menú en CustomerMenu.
Establezca la propiedad Label del menú en Customers.
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