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 :

Dossier par défaut des liens hypertexte [AC-2013]


Sujet :

IHM

  1. #21
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour,

    Une petite question si tu passes par la LedZeppII, qu'est ce qui, dans ton code suivant

    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
    Sub CreerMenuCtxl_mnCtxlHyperlink()
    Dim cmdBar As Object        'Office.CommandBar
    Dim cmdPopup As Object      'Office.CommandBarPopup
    Dim ctlButton As Object, ctlTmpBtn As Object 'Office.CommandBarButton
    Dim sMenu As String
    Dim i As Integer
    Const msoBarPopup = 5
     
    sMenu = "mnCtxlHyperlink"
    On Error Resume Next
    Set cmdBar = Application.CommandBars(sMenu)
    On Error GoTo 0
     
    If Not (cmdBar Is Nothing) Then
       cmdBar.Delete
    End If
     
    Set cmdBar = Application.CommandBars.Add(sMenu, msoBarPopup, False, False)
    ' Bouton Copier
    Application.CommandBars("Database").FindControl(, 19).Copy cmdBar
    ' Bouton Couper
    Application.CommandBars("Database").FindControl(, 21).Copy cmdBar
    ' Bouton Coller
    Application.CommandBars("Database").FindControl(, 22).Copy cmdBar
    ' Bouton Coller spécial
    Application.CommandBars.FindControl(, 755).Copy cmdBar
     
    ' Bouton supprimer hypertexte personnalisé, pour être visible en runtime
    Set ctlButton = cmdBar.Controls.Add(msoControlButton, , , , False)
    ctlButton.Caption = "Supprimer lien hypertexte"
    ctlButton.Style = msoButtonIconAndCaption
    ctlButton.OnAction = "=fnMyDeleteHyperlink()"
    Set cmdPopup = Application.CommandBars("Form DataSheet Cell").FindControl(, 30094)
    For i = 1 To cmdPopup.Controls.Count
        If cmdPopup.Controls(i).ID = 3626 Then
           Set ctlTmpBtn = cmdPopup.Controls(i)
           ctlTmpBtn.CopyFace
           ctlButton.PasteFace
        End If
    Next
     
    cmdBar.Enabled = True
    End Sub
    fait en sorte que l’icône qui s'affiche à gauche de "supprimer lien hypertexte" est celle des liens hypertexte.

    Si je veux utiliser ce code pour d'autres fonctions, comment mettre une autre icône que celle des liens hypertextes ?

    Merci

  2. #22
    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,

    Ce sont les lignes 6 à 13 qui créent l'image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ' Bouton supprimer hypertexte personnalisé, pour être visible en runtime
    Set ctlButton = cmdBar.Controls.Add(msoControlButton, , , , False)
    ctlButton.Caption = "Supprimer lien hypertexte"
    ctlButton.Style = msoButtonIconAndCaption
    ctlButton.OnAction = "=fnMyDeleteHyperlink()"
    Set cmdPopup = Application.CommandBars("Form DataSheet Cell").FindControl(, 30094)
    For i = 1 To cmdPopup.Controls.Count
        If cmdPopup.Controls(i).ID = 3626 Then
           Set ctlTmpBtn = cmdPopup.Controls(i)
           ctlTmpBtn.CopyFace
           ctlButton.PasteFace
        End If
    Next
    La ligne 6 récupère le sous-menu dont l'identifiant est 30094.
    Ensuite je parcours les contrôles du sous-menu jusqu'à trouver l'élément de menu dont l'identifiant est 3626 (Supprimer le lien hypertexte).
    Une fois trouvé, je copie son image avec .CopyFace et je la colle avec .PasteFace.

    J'ai trouvé ces identifiants de contrôles grâce à un outil que je me suis créé pour parcourir les menus (CommandBars) d'Access.
    Si tu veux créer ta propre image regarde ici : image perso menu personnalisé

    A+

  3. #23
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    D'accord, ce n'est donc pas si simple.

    Si tu as créé un outil pour ça, c'est qu'il ne doit pas exister de liste où on pourrait voir les icônes correspondantes aux menus, c'est bien dommage.

    J'aimerais utiliser l’icône supprimer (la croix grise) du menu générateur d'images d'access pour un petit code personnalisé.

    Pourrais-tu me dire quel code lui correspond ?

    Merci

  4. #24
    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
    Bonsoir,

    Tu remplaces:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set cmdPopup = Application.CommandBars("Form DataSheet Cell").FindControl(, 30094)
    For i = 1 To cmdPopup.Controls.Count
        If cmdPopup.Controls(i).ID = 3626 Then
           Set ctlTmpBtn = cmdPopup.Controls(i)
           ctlTmpBtn.CopyFace
           ctlButton.PasteFace
        End If
    Next
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set ctlTmpBtn = Application.CommandBars("Edit").FindControl(, 478)
    ctlTmpBtn.CopyFace
    ctlButton.PasteFace
    Cela va copier/coller l'image de l'élément de menu Supprimer du sous-menu Edition de l'ancien menu principal d'Acess 2003.
    C'est ce que j'ai trouvé de plus approchant de l'image dont tu parles.

    A+

  5. #25
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Mais c'est parfait, ça ne s'approche pas de l'image dont je parle, c'est exactement celle-la

    Je te remercie LedZeppII.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. associer des liens hypertexte par macro
    Par bobafric dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/06/2013, 10h01
  2. [OL-2003] Dossier par défaut des liens hypertext
    Par Adri687 dans le forum Outlook
    Réponses: 0
    Dernier message: 17/02/2011, 11h59
  3. Changer le dossier par défaut des Helpers
    Par oOXimOo dans le forum Zend Framework
    Réponses: 6
    Dernier message: 23/09/2010, 17h22
  4. partage des dossiers par défaut nécessaire ?
    Par nanourene dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 19/05/2008, 20h41
  5. Aspect des liens hypertextes
    Par flzox dans le forum Mise en forme
    Réponses: 5
    Dernier message: 04/09/2004, 15h29

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