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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Ruban : Utilisation du contrôle splitbutton [AC-2007]


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Points : 77
    Points
    77
    Par défaut Ruban : Utilisation du contrôle splitbutton
    Bonjour à tous,

    J'ai créé un ruban personnalisé contextuel pour un formulaire spécifique.

    Je voudrais rajouter un contrôle similaire à celui intégré dans access (voir fichier joint) mais en changeant les images et les actions.

    C'est à dire remplacement de l'image d'origine par celle qui a été sélectionnée par l'utilisateur.

    Je pense qu'il s'agit d'un "splitButton" avec des éléments enfants de type "Button" .

    Est-ce quelqu'un pourrait me dire où je peux trouver un exemple de code XML de ce contrôle ?


    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Voila un exemple de splitbutton:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
              onLoad="ribfmSplitButton_OnLoad">
    <ribbon>
    <tabs>
        <!-- onglet personnel -->
        <tab id="TabMonOnglet" label="Mon Onglet">
            <!-- groupe personnel -->
            <group id="GpMonGroupe" label="Mon Groupe" >
                <!-- splitbutton -->
                <splitButton id="sbnRecherche" size="large" >
                    <!-- bouton principal -->
                    <button id="cmdsbnRecherche" 
                            getImage = "ribfmSplitButton_GetImage"
                            onAction="ribfmSplitButton_OnAction" />
                    <!-- menu du splibutton -->
                    <menu id="sbnRechercheMenu" itemSize="large" >
                        <!-- boutons du menu -->
                        <button id="cmdsbnRechercheFind" imageMso="FindDialog"
                                label="Rechercher"
                                onAction="ribfmSplitButton_OnAction" />
                        <button id="cmdsbnRechercheReplace" imageMso="ReplaceDialog"
                                label="Remplacer" 
                                onAction="ribfmSplitButton_OnAction" />
                    </menu>
                </splitButton>
            </group>         
        </tab>
    </tabs>
    </ribbon>
    </customUI>
    Le code qui va avec :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    ' Pour mémoriser le dernier bouton utilisé
    ' du splibutton sbnRecherche
    Const sbnRechercheRechercher = 0    ' Id pour bouton Rechercher
    Const sbnRechercheRemplacer = 1     ' Id pour bouton Remplacer
    Dim sbnRecherche As Integer
     
    ' Ruban avec splitbutton sbnRecherche
    Dim ribfmSplitButton As IRibbonUI
     
    ' -----------------------------------------------------------------------------
    ' rubanSplitButton - OnLoad
    ' -----------------------------------------------------------------------------
    Sub ribfmSplitButton_OnLoad(ribbon As IRibbonUI)
    Set ribfmSplitButton = ribbon
    End Sub
     
    ' -----------------------------------------------------------------------------
    ' rubanSplitButton - GetImage
    ' -----------------------------------------------------------------------------
    Sub ribfmSplitButton_GetImage(control As IRibbonControl, ByRef image)
    Select Case control.ID
        Case "cmdsbnRecherche"
             Select Case sbnRecherche
                Case sbnRechercheRechercher
                    sbnRecherche = sbnRechercheRechercher
                    Set image = Application.CommandBars.GetImageMso("FindDialog", 32, 32)
     
                Case sbnRechercheRemplacer
                    sbnRecherche = sbnRechercheRemplacer
                    Set image = Application.CommandBars.GetImageMso("ReplaceDialog", 32, 32)
             End Select
    End Select
    End Sub
     
    ' -----------------------------------------------------------------------------
    ' rubanSplitButton - OnAction
    ' -----------------------------------------------------------------------------
    Sub ribfmSplitButton_OnAction(control As IRibbonControl)
    Dim strBoutonDuSplitButton As String
     
    Select Case control.ID
        Case "cmdsbnRecherche"
            Select Case sbnRecherche
                Case sbnRechercheRechercher: strBoutonDuSplitButton = "Rechercher"
                Case sbnRechercheRemplacer: strBoutonDuSplitButton = "Remplacer"
            End Select
            MsgBox "Bouton : " & strBoutonDuSplitButton, , "cmdMonSplitButton"
     
        Case "cmdsbnRechercheFind"
            sbnRecherche = sbnRechercheRechercher
            ribfmSplitButton.InvalidateControl "cmdsbnRecherche"
            MsgBox "Bouton : Rechercher", , "cmdsbnRechercheFind"
     
        Case "cmdsbnRechercheReplace"
            sbnRecherche = sbnRechercheRemplacer
            ribfmSplitButton.InvalidateControl "cmdsbnRecherche"
            MsgBox "Bouton : Remplacer", , "cmdsbnRechercheReplace"
    End Select
    End Sub
    Le splitbutton se compose d'un bouton principal (toujours visible) dont l'image est variable, et d'un menu contenant deux boutons.
    Lorsqu'on clique sur un bouton du menu, l'identité de ce bouton est mémorisé dans la variable sbnRecherche (j'ai attribué des valeurs numériques à chaque bouton par l'intermédiaire de constantes).
    Ensuite le bouton principal est invalidé de manière à déclencher la fonction de rappel getImage.
    L'image renvoyée pour le bouton principal du splitbutton dépend du contenu de la variable sbnRecherche.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/08/2006, 18h14
  2. Utilisation des contrôles Window avec C# et DirectX
    Par OpenGG dans le forum DirectX
    Réponses: 11
    Dernier message: 13/07/2006, 11h53
  3. Réponses: 4
    Dernier message: 10/05/2006, 11h02
  4. Réponses: 1
    Dernier message: 21/02/2006, 17h13
  5. Utiliser un contrôle style "Word"
    Par soso78 dans le forum IHM
    Réponses: 5
    Dernier message: 13/12/2005, 22h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo