Partager via


Présentation de l’infrastructure du ruban Windows

L’infrastructure du ruban Windows est un système de présentation de commandes riche qui offre une alternative moderne aux menus en couches, aux barres d’outils et aux volets Office des applications Windows traditionnelles.

Nouveau paradigme de commande

L’infrastructure ribbon est une collection d’API Microsoft Win32 qui prennent en charge une foule de nouvelles fonctionnalités d’interface utilisateur pour les développeurs Windows.

Cette infrastructure de commandes d’interface utilisateur moderne et riche offre :

  • Implémentation facile pour les nouvelles applications d’infrastructure ruban et migration simple d’applications Win32 existantes.
  • Apparence et comportement cohérents entre les applications ruban.
  • Respect des instructions de l’interface utilisateur Windows pour une expérience Windows de première classe par le biais de normes d’accessibilité, de la prise en charge du style visuel (thèmes), des ajustements automatiques de contraste élevé et de la sensibilisation aux points élevés par pouce (ppp).

L’infrastructure du ruban se compose de deux composants d’interface utilisateur principaux :

  • La barre de commandes du ruban, qui se compose de la barre d’outils Accès rapide (QAT) qui expose et met en surbrillance diverses commandes du ruban comme spécifié par l’utilisateur ou l’application, et d’une ligne d’onglet qui contient le menu de l’application, des onglets standard ou contextuels et un bouton d’aide.
  • Un système de menu contextuel riche.

Une combinaison d’interfaces XML déclaratives et d’interfaces COM natives est utilisée pour dissocier la présentation et les fonctionnalités de ces composants.

Les vues

Les principaux composants de l’interface utilisateur de l’infrastructure du ruban, la barre de commandes du ruban et le système de menu contextuel sont différenciés structurellement par le biais des vues. L’infrastructure prend en charge deux vues : la vue ruban et la vue ContextPopup .

Affichage ruban

L’interface utilisateur de l’affichage ruban est la fonctionnalité principale de l’infrastructure du ruban et fournit l’expérience utilisateur de nouvelle génération pour la présentation des commandes dans les applications Windows.

Le ruban est une barre de commandes qui expose les principales fonctionnalités d’une application via une série d’onglets en haut d’une fenêtre d’application. Il est similaire en termes de fonctionnalités et d’apparence à l’interface utilisateur Fluent de Microsoft Office 2007. Le ruban fournit un contrepoint intuitif au processus d’évaluation et d’erreur de la découverte de commandes qui est typique des systèmes de menu Windows standard. Optimisé pour l’efficacité et la détectabilité, le ruban facilite la recherche, la compréhension et l’utilisation des commandes avec un minimum de clics de souris et de frappes grâce à un système de contrôles standard, de galeries et d’aperçu en direct.

L’image suivante illustre l’implémentation de l’infrastructure du ruban dans Paint pour Windows 7.

capture d’écran montrant l’implémentation du ruban dans paint pour windows 7.

Vue ContextPopup

La vue ContextPopup , par le biais du contrôle Contextuel , fournit un système de menu contextuel plus riche que celui disponible avec les applications Windows antérieures. Une fenêtre contextuelle de contexte ne peut être déployée que dans la prise en charge d’un ruban. Une fenêtre contextuelle contextuelle autonome n’est pas prise en charge par l’infrastructure du ruban.

Architecture du ruban

Contrairement au modèle de développement traditionnel de l’interface utilisateur Windows basé sur les contrôles, le développement de l’interface utilisateur de l’infrastructure Du ruban Windows est basé sur le concept plus abstrait des commandes. En se concentrant sur les commandes associées aux contrôles, plutôt que sur les contrôles eux-mêmes, l’infrastructure est en mesure d’ajuster automatiquement l’interface utilisateur comme requis en réponse à l’état d’exécution des commandes récupéré à partir de l’application hôte du ruban.

Une application qui utilise l’infrastructure du ruban expose les commandes sans être encombrée avec les détails de la façon dont cette commande est représentée dans l’interface utilisateur. Il s’agit parfois d’un modèle d’interface utilisateur basé sur l’intention. Le type de commande, ses propriétés et ses ressources définissent l’intention de la commande pour l’application. Par exemple, l’entrée de souris, l’entrée au clavier ou même le tremblement d’un appareil gyroscopique peuvent entraîner l’exécution de la même commande, l’application se préoccupe uniquement de l’exécution de la commande, et non de la façon dont elle a été appelée.

L’infrastructure du ruban offre cette flexibilité en séparant les fonctionnalités de la présentation avec deux structures de développement distinctes : un langage de balisage XAML (Extensible Application Markup Language) pour déclarer les contrôles et la disposition visuelle d’une implémentation de ruban, et des interfaces COM C++ pour initialiser l’infrastructure et gérer les événements au moment de l’exécution. Cette distinction permet aux développeurs et concepteurs d’interface utilisateur d’être seuls responsables de l’apparence d’une application ruban, tandis que les fonctionnalités de base restent le domaine des ingénieurs logiciels.

Pour plus d’informations, consultez Présentation des commandes et des contrôles.

API du ruban

Les API du ruban fournissent les connexions nécessaires entre une vue et l’application hôte du ruban. Ces API se composent des interfaces et des clés de propriété suivantes :

  • Ensemble d’interfaces COM implémentées par l’infrastructure ribbon pour effectuer des services d’interface utilisateur.

    Interface Description
    IUIContextualUI Définit les méthodes pour la fonctionnalité de base de la vue ContextPopup .
    IUIFramework Définit les méthodes qui prennent en charge les fonctionnalités principales des vues Ribbon et ContextPopup .
    IUIRibbon Définit les méthodes permettant de spécifier les paramètres et les propriétés d’un affichage ruban .
    IUISimplePropertySet Définit une méthode pour récupérer la valeur identifiée par une clé de propriété. Cette interface est implémentée par l’infrastructure Ribbon et est également implémentée par l’application hôte pour chaque élément de l’objet IUICollection d’une galerie d’éléments.
    Lorsqu’elle est implémentée par l’application hôte, la méthode définie par cette interface est utilisée pour récupérer une valeur de clé de propriété pour l’élément sélectionné dans IUICollection.
    IUICollection Définit les méthodes permettant de manipuler dynamiquement des contrôles basés sur une collection, tels que le QAT du ruban et les galeries basées sur la collection, au moment de l’exécution.
    IUIImage Définit la méthode de récupération d’une image à afficher dans l’interface utilisateur du ruban.
    IUIImageFromBitmap Définit la méthode de fabrique pour créer un objet IUIImage .
  • Ensemble d’interfaces COM implémentées par l’application hôte ribbon que l’infrastructure appelle en réponse aux modifications apportées à l’interface utilisateur.

    Interface Description
    IUIApplication Définit les méthodes de point d’entrée de rappel d’application pour l’infrastructure ribbon.
    IUICommandHandler Définit les méthodes de collecte d’informations de commande et de gestion des événements Command à partir de l’infrastructure du ruban.
    IUICollectionChangedEvent Définit la méthode requise pour gérer les modifications apportées à une collection au moment de l’exécution.
  • Ensemble de clés de propriété qui définissent les propriétés d’interface utilisateur sur lesquelles l’application a un contrôle par programmation.

    Type de clé de propriété Description
    Collection Définit les propriétés des contrôles basés sur la collection de ruban.
    Sélecteur de couleurs Définit les propriétés des contrôles de sélecteur de couleurs du ruban.
    Police Définit les propriétés du contrôle FontControl du ruban.
    Global Définit des propriétés globales pour l’infrastructure du ruban.
    Ressource Définit les propriétés de ressource du ruban.
    Ruban Définit les propriétés de l’affichage du ruban.
    State Définit les propriétés de l’état ou du contexte du contrôle du ruban.

Sécurité et confidentialité

La DLL d’infrastructure du ruban (uiribbon.dll) s’exécute in-process et dispose des mêmes privilèges que l’application hôte. Le ruban accepte uniquement ce que l’application hôte fournit en tant qu’entrée ou entrée utilisateur à partir de contrôles étroitement limités, tels que le spinner et la zone de liste modifiable.

En outre, l’infrastructure ne stocke pas définitivement d’informations à l’exception de ce qui est fourni par l’application hôte ou collecté (tel qu’autorisé par l’utilisateur final) par le biais du programme d’expérience utilisateur Windows d’adhésion.

Accessibilité et localisation

Pour fournir une interface utilisateur hautement accessible, l’infrastructure du ruban implémente Microsoft Active Accessibility. En remplissant automatiquement les propriétés Microsoft Active Accessibility pertinentes avec des informations valides et utiles, l’infrastructure réduit considérablement la charge pour les développeurs de fournir une expérience inclusive à tous les utilisateurs.

Pour plus d’informations sur l’accessibilité dans l’infrastructure du ruban, voir Utilisation de l’accessibilité active dans l’interface utilisateur d’Office Fluent 2007.

En outre, l’infrastructure du ruban est une fonctionnalité Windows et, en tant que telle, est localisée pour toutes les langues prises en charge par Windows. Toutefois, les développeurs sont responsables de la localisation de leurs propres ressources d’application spécifiques.

Conclusion

Le ruban est une forme nouvelle et attrayante de présentation de commandes que les développeurs d’applications, les architectes et les concepteurs doivent prendre en compte lors de la conception et de la création de nouvelles applications ou de la mise à jour des applications existantes.

Le Forum de développement du ruban Windows est disponible pour discuter de sujets et poser des questions relatives au développement d’applications qui implémentent l’infrastructure du ruban Windows.

Déclaration de commandes et de contrôles avec le balisage du ruban

Instructions relatives à l’expérience utilisateur du ruban

Processus de conception du ruban