IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Personnaliser la vue Backstage d'Access 2010

logo_office_2010.gif


précédentsommairesuivant

VI. La vue Backstage

Nom du Ruban : rubBackstage

Deux attributs sont disponibles sur la balise <backstage> :

onShow : permet de lancer une procédure CallBack sur ouverture de la vue.

onHide : permet de lancer une procédure CallBack sur fermeture de la vue.

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <backstage onShow="clbckOnShow" onHide="clbckOnHide">
    </backstage>
</customUI>

Procédure CallBack sur ouverture et fermeture de la vue Backstage :

 
Sélectionnez
Sub clbckOnShow(control As IRibbonControl)
    MsgBox "Evénement sur ouverture de la vue Backstage"
End Sub
 
Sélectionnez
Sub clbckOnHide(control As IRibbonControl)
    MsgBox "Evénement sur fermeture de la vue Backstage"
End Sub

Nous verrons plus loin dans cet article comment interagir sur la vue Backstage à l'affichage du Ruban dans le but de la personnaliser.

VI-1. OnLoad - Ouverture de la vue Backstage

Cet attribut est placé dans la balise <CustomUI> du Code XML, il permet d'instancier un Objet afin de faire référence à l'interface utilisateur.

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">

Sur chargement du Ruban le Code VBA de la fonction oldBacksatge sera exécuté.

 
Sélectionnez
Public UIRubanPerso As IRibbonUI

Sub oldBackstage(UIRuban As IRibbonUI)
    Set UIRubanPerso = UIRuban
End Sub

La variable Public UIRubanPerso est instanciée par le Ruban au chargement de celui-ci.

VI-2. loadImage

Cet attribut, placé dans la balise <CustomUI> du Code XML, permet de lancer une procédure VBA instanciant la source pour les images.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage" loadImage="clbckLoadImage">

Code VBA : définit le dossier images du répertoire courant de la base de données.

 
Sélectionnez
Sub clbckLoadImage(imageId As String, ByRef image)
    Set image = LoadPicture(CurrentProject.Path & "\images\" & imageId)
End Sub

VI-3. Mise à jour du Ruban

Deux fonctions VBA permettent de mettre à jour le Ruban pour le rendre dynamique, nous les utiliserons en détail avec les procédures de rappel.

 

VI-3-1. Invalidate

Permet de recharger l'ensemble de la vue Backstage.

 

VI-3-2. InvalidateControl

Permet de recharger simplement le contrôle passé en paramètre de la fonction.

VII. Personnalisation du volet de navigation de la vue Backstage

Le volet de navigation de la vue Backstage correspond à la partie de gauche. On peut y placer des boutons personnalisés ainsi que des onglets.

Nous allons personnaliser ce volet.

VII-1. Boutons

Nom du Ruban : rubBouton

Nous allons utiliser la balise <button> afin d'ajouter des boutons personnalisés.

Voici le code à ajouter directement après la balise <backstage>derubVide

 
Sélectionnez
<button id="btnExemple" label="Bouton Perso" imageMso="ObjectEffectGlowGallery"/>

Ici nous créons un bouton appelé « btnExemple » qui a pour texte « Bouton Perso » et comme image, une image prédéfinie d'Access 2010.

Voici le rendu :

image12.png

VII-1-1. Attributs (Bouton)

Liste des attributs disponibles pour ce contrôle.

VII-2. Onglets

Nom du Ruban : rubOnglet

Pour ajouter un onglet personnalisé dans le volet de navigation de la vue Backstage nous allons utiliser la balise <tab> ; reprenez le XML de rubVide et ajoutez le code suivant :

 
Sélectionnez
<tab id="tabExemple" label="Onglet personnalisé"/>
image13.png

VII-2-1. Attributs (Onglet)

VII-2-2. firstColumn

La vue d'un onglet personnalisé peut être affichée sur deux colonnes. Chaque colonne peut être traitée différemment dans son contenu. La balise <firstColumn> est obligatoire dans la structure même si vous ne voulez pas utiliser une seconde colonne.

Début du code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso" getTitle="clbckgetTitle" columnWidthPercent="40">
              <firstColumn>

Deux balises suivent celle-ci

 
VII-2-2-1. Groupe de contrôles (group)

Cette balise suit directement la balise <firstColumn>, elle permet de regrouper un ensemble de contrôles.

Suite du code :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso" getTitle="clbckgetTitle" columnWidthPercent="40">
              <firstColumn>
                   <group id="group1">

Trois balises suivent la balise <group> :

VII-2-2-1-1. primaryItem

Définit un bouton ou un menu comme principal. Ne peut être déclaré qu'une seule fois.

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso" getTitle="clbckgetTitle" columnWidthPercent="40">
              <firstColumn>
                   <group id="group1">
                        <primaryItem>
                             <button id="button1" label="Bouton Principal"/>
                        </primaryItem>
                        <bottomItems>
                             <button id="button2" label="Bouton 2"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Voici le résultat :

image14.png

les contrôles disponibles

Liste des contrôles que l'on peut ajouter :

  • Bouton ;
  • Menu ;
VII-2-2-1-2. topItem

Ne peut être défini qu'une seule fois et peut contenir tous les contrôles disponibles. Les contrôles sont placés en partie haute de la colonne.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1" label="Nom du Groupe">
                        <primaryItem>
                             <button id="button1" label="Bouton Principal"/>
                        </primaryItem>
                        <topItems>
                             <button id="button2" label="Bouton 2"/>
                        </topItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>

Voici le résultat :

image15.png

les contrôles disponibles

Liste des contrôles que l'on peut ajouter :

Bouton Case à cocher Liste déroulante Liste
Zone de texte Groupe Lien Hypertexte Image
Étiquette conteneur de disposition Groupe d'options  
VII-2-2-1-3. bottomItems

Ne peut être défini qu'une seule fois et peut avoir un ou plusieurs contrôles.

Code XML :

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="oldBackstage">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1" label="Nom du Groupe">
                        <primaryItem>
                             <button id="button1" label="Bouton Principal"/>
                        </primaryItem>
                        <topItems>
                             <button id="button2" label="Bouton 2"/>
                        </topItems>
                        <bottomItems>
                             <button id="button3" label="Bouton 3"/>
                        </bottomItems>
                   </group>
              </firstColumn>
         </tab>
    </backstage>
</customUI>


Voici le résultat :

image16.png

les contrôles disponibles

Liste des contrôles que l'on peut ajouter :

Bouton Case à cocher Liste déroulante Liste
Zone de texte Groupe Lien Hypertexte Image
Étiquette conteneur de disposition Groupe d'options  
 
VII-2-2-1-5. LayoutContainer

Zone regroupant des contrôles. On ne peut mettre cette balise qu'à l'intérieur des balises topItems et bottomItems.

Liste des contrôles que l'on peut ajouter :

Bouton Case à cocher Liste déroulante Liste
Zone de texte Groupe Lien Hypertexte Image
Étiquette conteneur de disposition Groupe d'options  


Liste des attributs disponibles pour ce contrôle :

Valeur
id
idQ
 
expand
 
tag
VII-2-2-1-4. Attributs (Groupes de contrôles)

Liste des attributs disponibles pour ce contrôle.

VII-2-2-2. Groupe de tâches (taskGroup)

Cette balise <taskGroup> est un regroupement de tâches dans une colonne.
Celle-ci se positionne juste après les balises <firstColumn> et <secondColumn>.

 
Sélectionnez
<taskGroup id="taskGroup1" label="Catégorie 1">

Pour ajouter des tâches il faut définir une sous-balise <category>

VII-2-2-2-1. category (Groupe de tâches (taskGroup))

Sous-balise de <taskGroup >, elle permet de créer des catégories regroupant les tâches.

 
Sélectionnez
<category id="category1" label="Catégorie 1">
VII-2-2-2-1-1. Tâche (category (Groupe de tâches (taskGroup)))


La balise <task> permet d'ajouter une tâche dans une catégorie.
Celle-ci est directement placée dans la catégorie dans la colonne où elle est définie.

 
Sélectionnez
<task id="task1" label="Tâche N° 1"/>

Voici le résultat :

image17.png
VII-2-2-2-1-2. Attributs (category (Groupe de tâches (taskGroup)))


Liste des attributs disponibles pour ce contrôle.

VII-2-2-2-2. Attributs (Groupe de tâches)

Liste des attributs disponibles pour ce contrôle.

VII-2-2-3. Formulaire Groupement de tâches

Cette balise ne peut être définie qu'une seule fois et dans la première colonne (<firstColumn>), elle permet de regrouper un ensemble de catégories comprenant une ou plusieurs tâches. Dans ce cas la disposition est différente que précédemment. Ici la tâche peut recevoir un groupe de contrôles (group).

 
Sélectionnez
<taskFormGroup id="taskFormGroup1" label="Groupe de Tâches">


Nous allons dans cet exemple créer deux tâches avec un groupe de contrôles différents, la première n'aura qu'un bouton et la seconde deux boutons.

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <taskFormGroup id="taskFormGroup1" label="Formulaire de tâches">
                        <category id="category1" label="Première catégorie">
                             <task id="task1" label="Tâche 1">
                                  <group id="group1" label="Groupe 1">
                                       <bottomItems>
                                            <button id="button1" label="Bouton"/>
                                       </bottomItems>
                                  </group>
                             </task>
                             <task id="task2" label="Tâche 2">
                                  <group id="group2" label="Groupe 2">
                                       <bottomItems>
                                            <button id="button2" label="Bouton 2"/>
                                            <button id="button3" label="Bouton 3"/>
                                       </bottomItems>
                                  </group>
                             </task>
                        </category>
                   </taskFormGroup>
              </firstColumn>
         </tab>
    </backstage>
</customUI>


La première tâche donne ceci :

image48.png



La seconde tâche donne ceci :

image49.png
VII-2-2-3-1. Attributs (Groupement de tâches)

Liste des attributs disponibles pour ce contrôle.

VII-2-3. secondColumn

Comme son nom l'indique cette balise définit une seconde colonne. Celle-ci peut recevoir l'ensemble des sous-balises de <firstColumn> à l'exception des Formulaires de groupement de tâches.

 
Sélectionnez
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <backstage>
         <tab id="tab1" label="Onglet Perso">
              <firstColumn>
                   <group id="group1" label="Groupe 1">
                        <bottomItems>
                             <button id="button1" label="Bouton 1"/>
                        </bottomItems>
                   </group>
              </firstColumn>
              <secondColumn>
                   <group id="group2" label="Groupe 2">
                        <bottomItems>
                             <button id="button2" label="Bouton 2"/>
                        </bottomItems>
                   </group>
              </secondColumn>
         </tab>
    </backstage>
</customUI>
image50.png



Je précisais un peu plus tôt qu'il n'était pas possible d'ajouter un Formulaire de tâches dans la seconde colonne. Ceci n'est pas possible (je pense) pour une question de disposition à l'écran.
Démonstration en image.

image51.png

précédentsommairesuivant

Copyright © 2012 Morgan BILLY. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.