Une autre opération habituellement exécutée par les compléments Office consiste à désactiver les commandes prédéfinies. RibbonX rend là encore cette opération aussi facile que d'écrire une ligne de code. Les développeurs peuvent désactiver les commandes prédéfinies en ajoutant des lignes telles que celle-ci dans la section <commands> de leur code XML :
Copier le code
<command idMso="Bold" enabled="false"/>
Cela désactive le bouton Gras indépendamment de son emplacement dans l'interface utilisateur, lequel dans la configuration par défaut inclut le groupe Police dans le ruban, ainsi que la mini barre d'outils.
Comme cela ne se produisait pas avec CommandBars, il est important de noter que cette opération désactive le bouton Gras aux deux emplacements. Des compléments étaient nécessaires pour énumérer intégralement l'interface utilisateur et désactiver manuellement chaque copie du bouton, au cas où l'utilisateur aurait personnalisé ses barres d'outils et placé une copie ailleurs. Ils devaient également rechercher les commandes par numéro de référence (43), au lieu d'utiliser des noms intelligibles comme « Gras ». Un rappel getEnabled peut également être utilisé si le complément souhaite désactiver conditionnellement la commande uniquement à certains moments.
L'élément XML <commands> représente également l'emplacement de la fonction de réaffectation de commande de RibbonX. Les compléments améliorent ou étendent souvent les fonctionnalités prédéfinies de Microsoft Office, reprennent les boutons de l'interface utilisateur existants et les réaffectent. Parfois, les responsables informatiques choisissent de restreindre leurs fonctionnalités à l'aide de la réaffectation (par exemple, en affichant une boîte de dialogue de saisie de mot de passe lorsqu'un utilisateur clique sur le bouton Imprimer).
Un bouton qui exécute une action avec un clic peut être réaffecté à l'aide de RibbonX (même si les types de contrôle les plus compliqués comme les galeries ou les boîtes de dialogue mixtes ne peuvent pas être réaffectées). Voici un exemple de code XML nécessaire à la réaffectation du bouton Enregistrer :
Copier le code
<command idMso="Save" onAction="MySaveFunction"/>
Lorsque l'utilisateur clique sur Enregistrer, l'élément MySaveFunction du bouton est exécuté, ce qui permet au complément d'effectuer ses propres actions et de choisir d'autoriser l'exécution de la fonction prédéfinie Enregistrer.
Là encore, toutes les copies du bouton Enregistrer sont réaffectées par cette seule ligne de code XML (dans le menu Office et dans la barre d'outils Accès rapide), et si un document effectue la réaffectation, celle-ci ne s'applique pas à d'autres documents qui sont également ouverts (sauf si ce document est chargé comme modèle ou complément global).