Partager via


RibbonMenu, interface

Représente un menu sur un onglet du ruban ou sur le menu Microsoft Office.

Espace de noms :  Microsoft.Office.Tools.Ribbon
Assembly :  Microsoft.Office.Tools.Common (dans Microsoft.Office.Tools.Common.dll)

Syntaxe

'Déclaration
<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

Le type RibbonMenu expose les membres suivants.

Propriétés

  Nom Description
Propriété publique ControlSize Obtient ou définit la taille du menu.
Propriété publique Description Obtient ou définit le texte qui apparaît sur le menu actuel.
Propriété publique Dynamic Obtient ou définit une valeur qui indique si le menu peut être modifié au moment de l'exécution.
Propriété publique Enabled Obtient ou définit une valeur qui indique si ce RibbonControl est activé. (Hérité de RibbonControl.)
Propriété publique Id Obtient une chaîne que Microsoft Office utilise pour identifier cet objet RibbonControl. (Hérité de RibbonControl.)
Propriété publique Image Obtient ou définit l'image affichée sur le menu.
Propriété publique ImageName Obtient ou définit le nom que vous pouvez utiliser dans le gestionnaire d'événements LoadImage pour identifier une image pour le menu.
Propriété publique Items Obtient la collection des contrôles situés sur le menu.
Propriété publique ItemSize Obtient ou définit la taille des contrôles sur le menu.
Propriété publique KeyTip Obtient ou définit la touche clavier d'accès rapide du menu.
Propriété publique Label Obtient ou définit le texte affiché par le menu.
Propriété publique Name Obtient ou définit le nom de ce RibbonComponent. (Hérité de RibbonComponent.)
Propriété publique OfficeImageId Obtient ou définit l'image à afficher sur le menu, si vous souhaitez utiliser une icône Microsoft Office intégrée.
Propriété publique Parent Obtient un RibbonComponent qui représente le parent de ce RibbonComponent. (Hérité de RibbonComponent.)
Propriété publique Position Obtient ou définit la position du menu s'il est affiché sur le menu Microsoft Office.
Propriété publique Ribbon Obtient l'objet Ribbon de niveau supérieur qui contient la hiérarchie des contrôles. (Hérité de RibbonComponent.)
Propriété publique RibbonUI Infrastructure. Obtient l'instance IRibbonUI fournie par l'application Microsoft Office au code d'extensibilité du ruban. (Hérité de RibbonComponent.)
Propriété publique ScreenTip Obtient ou définit le texte info-bulle qui apparaît lorsque l'utilisateur déplace le pointeur sur le menu.
Propriété publique ShowImage Obtient ou définit une valeur qui indique si l'image associée au menu est visible.
Propriété publique ShowLabel Obtient ou définit une valeur qui indique si l'étiquette pour le menu est visible.
Propriété publique Site Obtient ou définit le ISite associé à IComponent. (Hérité de IComponent.)
Propriété publique SuperTip Obtient ou définit le texte info-bulle multiligne qui apparaît lorsque l'utilisateur déplace le pointeur sur le menu.
Propriété publique Tag Obtient ou définit des données spécifiques à l'application associées à ce RibbonComponent. (Hérité de RibbonComponent.)
Propriété publique Title Obtient ou définit le titre affiché lorsque l'utilisateur développe un menu ajouté au menu Microsoft Office.
Propriété publique Visible Obtient ou définit une valeur qui indique si ce RibbonControl est visible. (Hérité de RibbonControl.)

Début

Méthodes

  Nom Description
Méthode publique Dispose Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées. (Hérité de IDisposable.)
Méthode publique PerformDynamicLayout Appelle la méthode Microsoft.Office.Core.IRibbonUI.InvalidateControl du contrôle parent si RibbonComponent possède un parent dynamique, tel qu'un menu dynamique, et si la disposition n'est pas interrompue. (Hérité de RibbonComponent.)
Méthode publique PerformLayout Appelle Microsoft.Office.Core.IRibbonUI.InvalidateControl si le RibbonComponent a un parent et que la mise en page n'est pas interrompue. (Hérité de RibbonComponent.)
Méthode publique ResumeLayout() Inverse l'effet de la méthode SuspendLayout. (Hérité de RibbonComponent.)
Méthode publique ResumeLayout(Boolean) Inverse l'effet de la méthode SuspendLayout. (Hérité de RibbonComponent.)
Méthode publique SuspendLayout Empêche l'application Microsoft Office d'actualiser l'état des contrôles sur le ruban. (Hérité de RibbonComponent.)

Début

Événements

  Nom Description
Événement public Disposed Représente la méthode qui gère l'événement Disposed d'un composant. (Hérité de IComponent.)
Événement public ItemsLoading Se produit lorsque les contrôles ou les menus imbriqués sont chargés dans le menu actuel au moment de l'exécution.

Début

Notes

Visual Studio crée un objet RibbonMenu lorsque vous faites glisser un contrôle Menu de l'onglet Contrôles de ruban Office de la Boîte à outils sur le Concepteur de ruban.

Vous pouvez créer un RibbonMenu au moment de l'exécution à l'aide de la méthode CreateRibbonMenu de l'objet RibbonFactory.

Il existe deux méthodes pour accéder à l'objet RibbonFactory :

  • En utilisant la propriété Factory de la classe du ruban. Utilisez cette approche depuis le code dans votre classe de ruban.

  • En utilisant la méthode Globals.Factory.GetRibbonFactory. Utilisez cette approche depuis le code en dehors de votre classe de ruban.

Tâches courantes

Le tableau suivant répertorie les membres qui sont utiles pour les tâches courantes. Toutes ces tâches peuvent être effectuées au moment du design. Certaines de ces tâches peuvent être exécutées uniquement au moment de l'exécution avant de charger le ruban dans l'application Office ou avant d'ajouter le contrôle à un menu dynamique au moment de l'exécution. Pour plus d'informations, consultez Vue d'ensemble du modèle objet de ruban.

Tâche

Membre

Afficher une image dans le menu.

Utilisez la propriété Image ou ImageName.

Vous pouvez également réutiliser les images qui apparaissent dans les contrôles de ruban intégrés. Pour cela, affectez à OfficeImageId l'ID d'une image Microsoft Office intégrée que vous souhaitez afficher comme icône pour le menu.

Modifier la taille du menu.

Affectez à la propriété ControlSize la valeur de votre choix. Par exemple, pour un grand menu, affectez-lui la valeur Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Modifier la taille des éléments dans le menu.

Affectez à la propriété ItemSize la valeur de votre choix. Par exemple, pour afficher des éléments plus grands, affectez-lui la valeur Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge.

Autoriser les modifications du menu au moment de l'exécution (par exemple, pour pouvoir ajouter des contrôles au menu au moment de l'exécution).

Affectez à la propriété Dynamic la valeur true.

Accéder aux contrôles dans le menu, ajouter des contrôles au menu ou supprimer des contrôles dans le menu.

Utilisez la propriété Items.

Ajouter un menu au menu Microsoft Office, à un groupe ou à un autre contrôle Microsoft Office qui peut contenir des menus.

Ajoutez un RibbonMenu à la propriété Items du menu, groupe ou contrôle Microsoft Office.

Notes

Cette interface est implémentée par Visual Studio Tools pour Office Runtime. Elle n'est pas destinée à être implémentée dans votre code. Pour plus d'informations, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.

Utilisation

Cette documentation décrit la version de ce type utilisée dans les projets Office qui ciblent .NET Framework 4 et .NET Framework 4.5. Dans les projets qui ciblent .NET Framework 3.5, ce type peut contenir d'autres membres, et les exemples de code qui y figurent sont susceptibles de ne pas fonctionner. Pour obtenir de la documentation sur ce type dans les projets ciblant .NET Framework 3.5, consultez la section de référence suivante dans la documentation Visual Studio 2008 : https://go.microsoft.com/fwlink/?LinkId=160658.

Exemples

L'exemple suivant montre comment ajouter et renseigner un sous-menu dans un menu existant au moment de l'exécution.

Pour obtenir un meilleur exemple permettant de mettre à jour des contrôles au moment de l'exécution et d'exploiter les données de l'exemple de base de données AdventureWorks à l'aide de requêtes LINQ (Language-Integrated Queries), consultez Procédure pas à pas : mise à niveau des contrôles sur un ruban au moment de l'exécution.

Pour exécuter cet exemple de code, vous devez exécuter tout d'abord les étapes suivantes :

  1. Ajoutez un élément Ruban (Concepteur visuel) à un projet Office.

  2. Ajoutez un groupe à un onglet personnalisé.

  3. Ajoutez un menu au groupe.

  4. Affectez la valeur CustomerMenu à la propriété (Name) du menu.

  5. Affectez la valeur Customers à la propriété Label du menu.

  6. Affectez à la propriété Dynamic du menu la valeur true.

    Vous pouvez maintenant ajouter des contrôles sur le menu et en supprimer au moment de l'exécution, après le chargement du ruban dans l'application 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);
}

Voir aussi

Référence

Microsoft.Office.Tools.Ribbon, espace de noms

Autres ressources

Vue d'ensemble du ruban

Concepteur de ruban

Vue d'ensemble du modèle objet de ruban

Comment : démarrer avec la personnalisation du ruban