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

Access Discussion :

Cherche une liste des "imageMso" avec les FaceID correspondants pour les menus contextuels [AC-2007]


Sujet :

Access

  1. #1
    Membre habitué Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 143
    Points : 187
    Points
    187
    Par défaut Cherche une liste des "imageMso" avec les FaceID correspondants pour les menus contextuels
    Bonjour tout le monde !

    J'ai cherché un peu partout.

    1. Le fichier Add-in Office2007IconsGallery.xlsm pour Excel ne présente que les icônes, sans leur numéro.
    2. L'excellent Assistant Ruban de Arkham46 utilise le texte des "imageMso" dans le code xml, et les codes id ne s'affichent pas non plus dans sa galerie.
    3. Les 14 fichiers jpg de https://fring.developpez.com/vba/excel/faceid/ sont le seul moyen que j'ai trouvé de relier les icônes à leur identificateur. Mais cette collection est déjà obsolète. Et sa consultation demande i kilo d'aspirine.

    Quelqu'un a-t-il trouvé ailleurs un catalogue, une table, un formulaire de recherche utilisable ?

    Je trouve un peu fort que microsoft ait remplacé les barres de commandes par l'infâme ruban, mais que pour les menus contextuels nous en soyons toujours à la bonne vielle méthode de cbar.Controls.Add...

    Mais je suis peut-être en retard d'un train. Existe-t-il un moyen de créer des menus contextuels avec la technologie "Ribbon" en appelant les icones ImageMso par leur nom en Texte et non plus par leur FaceID ?

    J'en suis encore à

    Code : 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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    Sub CreateSF1ListContextMenu()
     
        Const strMenuName As String = "SF1ListMenu"
        On Error Resume Next
     
        Dim cbar As CommandBar, Bt As CommandBarButton, Cbx As CommandBarComboBox
                CommandBars.Item(strMenuName).Delete
                Set cbar = CommandBars.Add(strMenuName, msoBarPopup, , False)
     
        ' Delete
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Delete record"
                .OnAction = "=fnDelete()"
                .FaceId = 1786
            End With
        ' Preview
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Preview"
                .OnAction = "=fnPaste()"
                .FaceId = 1544
            End With
     
        ' Print
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Print"
                .OnAction = "=fnPrint()"
                .FaceId = 2521
            End With
     
        ' Email
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Email"
                .OnAction = "=fnPrint()"
                .FaceId = 24
            End With
     
        ' Combo time line
            Set Cbx = cbar.Controls.Add(Type:=msoControlComboBox, ID:=1)
            With Cbx
                .AddItem "Jour", 1
                .AddItem "Semaine", 2
                .AddItem "Mois", 3
                .AddItem "Année", 4
                .AddItem "Tout", 5
                .AddItem "Période", 6
                .DropDownLines = 6
                .DropDownWidth = 75
                .ListIndex = 3
                .Caption = "&Voir par"
                '.OnAction = "=fnRefresh()"
                '.FaceId = 1759
            End With
     
        ' Combo order by
            Set Cbx = cbar.Controls.Add(Type:=msoControlComboBox, ID:=1)
            With Cbx
                .AddItem "Date", 1
                .AddItem "Titre", 2
                .AddItem "Auteur", 3
                .DropDownLines = 3
                .DropDownWidth = 75
                .ListIndex = 1
                .Caption = "&Trier par"
                '.OnAction = "=fnRefresh()"
                '.FaceId = 1759
            End With
     
        ' Refresh
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Refresh"
                .OnAction = "=fnRefresh()"
                .FaceId = 1759
            End With
     
        ' Remove filter
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Remove filter"
                .OnAction = "=fnRefresh()"
                .FaceId = 605
            End With
     
        ' Close
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Close"
                .OnAction = "=fnClose()"
                '.FaceId = 605
            End With
     
        ' Help
            Set Bt = cbar.Controls.Add
            With Bt
                .Caption = "&Aide"
                .OnAction = "=fnRefresh()"
                .FaceId = 926
            End With
     
    End Sub
    Existe-t-il autre chose ?

    Merci d'avance !

    phil

  2. #2
    Membre habitué Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 143
    Points : 187
    Points
    187
    Par défaut Trouvé !
    Bonsoir à tous...

    Tiens, personne n'a encore répondu depuis hier... La question est-elle sans intérêt ? Dépassée ? Est-ce le corona ?

    J'ai enfin trouvé une page extrêmement intéressante https://flylib.com/books/en/2.397.1.99/1/
    avec un bout de code écrit pour une ToolBar mais qui marche aussi super bien avec le ruban. Toutes les ImageMso défilent dans un add-in et leur FaceID se montre dans un TooltipText en passant la souris dessus.

    J'ai rajouté un compteur pour remplir avec 1000 images à la fois. Jusque 16000

    Ne pas oublier de détruire l'add-in à la fermeture du formulaire

    Je vous reproduis le code ici, parce qu'il est sans balises sur la page d'origine. Bon amusement...!

    Code : 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
    Private Sub Command14_Click()
    CBShowButtonFaceIDs Me.Text15.Value, Me.Text17.Value
    End Sub
    Function CBShowButtonFaceIDs(lngIDStart As Long, lngIDStop As Long)
    ' This procedure creates a toolbar with buttons that
    ' display the images associated with the values starting
    ' at lngIDStart and ending at lngIDStop.
    Dim cbrNewToolbar  As CommandBar
    Dim cmdNewButton  As CommandBarButton
    Dim intCntr As Integer
    ' If the ShowFaceIds toolbar exists, delete it.
    On Error Resume Next
    Application.CommandBars("ShowFaceIds").Delete     ' Create a new toolbar.
     
    Set cbrNewToolbar = Application.CommandBars.Add(Name:="ShowFaceIds", temporary:=True)
    ' Create a new button with an image matching the FaceId
    ' property value indicated by intCntr.
    For intCntr = lngIDStart To lngIDStop
    Set cmdNewButton = cbrNewToolbar.Controls.Add(Type:=msoControlButton)
    With cmdNewButton
    ' Setting the FaceId property value specifies the
    ' appearance but not the functionality of the button.
         .FaceId = intCntr
         .TooltipText = "FaceId = " & intCntr
         End With
         Next intCntr
         ' Show the images on the toolbar.
         With cbrNewToolbar
         .Width = 600
         .Left = 100
         .Top = 200
         .Visible = True
         End With
    End Function
     
    Private Sub Command19_Click()
    Me.Text15.Value = Me.Text15.Value + 1000
    Me.Text17.Value = Me.Text17.Value + 1000
    End Sub
     
    Private Sub Form_Close()
    On Error Resume Next
    Application.CommandBars("ShowFaceIds").Delete   
    End Sub
    Cette page est aussi bourrée de très bonnes choses dans le domaine des menus contextuels, dont une remarque que je m'étais faite aussi à propos de la méthode OnChange de l'objet CommandBarComboBox, qui fonctionne en retard si l'on suit les exemples que donne MS, mais qui va très bien lorsqu'on se limite au OnAction classique...

    Bonne soirée à tous. J'aimerais bien savoir comment vous faites vos menus contextuels en 2021 !

    phil

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

Discussions similaires

  1. [PHPExcel] je cherche une ancienne version de PHPExcel fonctionnant avec PHP 5.0 (pour xls)
    Par Christophe P. dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 28/07/2016, 17h20
  2. Réponses: 1
    Dernier message: 02/06/2016, 18h38
  3. [W3C] Je cherche une liste simple des recommandations du W3C
    Par Bobby le Chat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/10/2009, 17h21
  4. OpenDialog avec une liste des dossiers favories
    Par J_apprenti dans le forum Delphi
    Réponses: 6
    Dernier message: 09/05/2007, 22h23
  5. [UBUNTU] Cherche une liste des EDI compatibles
    Par @v@lon dans le forum Ubuntu
    Réponses: 9
    Dernier message: 05/05/2007, 09h48

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