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

VB 6 et antérieur Discussion :

Fonctionnement du contrôle Common Dialog


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Fonctionnement du contrôle Common Dialog
    Bonjour,
    Je débute en programmation avec VB 6. Mon système d'exploitation est XP Pro (SP 3).
    J'ai un souci avec le contrôle Common Dialog, avec toutes les méthodes ( ShowColor, -Font, -Help, -Open, -Printer et -Save.
    Lorsque je fais F5 ou Exécuter, seule la fenêtre Form1 apparait, sans boite de dialogue (ni message d'erreur).
    J'ai affecté "cdbColor" à la propriété (Name), "Couleur d'arrière-plan" à la propriété DialogTitle et "2" à la propriété
    Flags, dans la fenêtre Propriété.
    J'ai tapé le 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
     
     
    Private Sub mnuViewColor_Click()
       cdbColor.CancelError = True   'Un click sur Annuler éqivaut
                                     ' à une erreur.
       On Error GoTo dbErrHandler    ' Bascule vers l'étiquette en cas d'erreur.
       ' Définit la propriété Flags.
       cdbColor.Flags = cdlCCFullOpen + cdlCCHelpButton   ' Affichage complet.
    Color DB
       ' Affiche la boite de dialogue Couleur.
       cdbColor.ShowColor
     
       ' Définit la couleur d'arrière-plan de la feuille
       ' selon le choix de l'utilisateur.
       frmTitle.ForeColor = cdbColor.Color
       Exit Sub   'Fin de la procédure normale.
    dbErrHandler:
       ' L'utilisateur ayant cliqué sur Annuler,
       ' la procédure doit être ignorée.
       Exit Sub
    End Sub
    Merci de m'indiquer comment afficher la boite de dialogue appropriée.
    Philippe085

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Bonjour et BIENVENU sur DVP

    Pour tester, place un CommandButton(appelé Command1) sur frmTitle et essaie avec ce
    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
    Private Sub Command1_Click()
       cdbColor.CancelError = True   'Un click sur Annuler éqivaut
                                     ' à une erreur.
       On Error GoTo dbErrHandler    ' Bascule vers l'étiquette en cas d'erreur.
       ' Définit la propriété Flags.
       cdbColor.Flags = cdlCCFullOpen + cdlCCHelpButton   ' Affichage complet.
    'Color DB
       ' Affiche la boite de dialogue Couleur.
       cdbColor.ShowColor
      Me.FontSize = 16
       ' Définit la couleur d'arrière-plan de la feuille
       ' selon le choix de l'utilisateur.
       frmTitle.ForeColor = cdbColor.Color
       Print "Texte à mettre en couleur"
       Exit Sub   'Fin de la procédure normale.
    dbErrHandler:
       ' L'utilisateur ayant cliqué sur Annuler,
       ' la procédure doit être ignorée.
       Exit Sub
    End Sub
    Par contre je ne vois pas à quoi correspond Color DB
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Suite contrôle Common Dialog
    Bonjour,
    J'ai essayé le code et placé le bouton de commande. La boite de dialogue "Couleur" apparaît, mais lorsque je choisi une couleur et clique sur "Ok", la boite de dialogue disparait mais la couleur choisie n'apparaît pas, ni aucun texte. Le bouton "Annuler" fonctionne normalement.
    Comment se fait-il que la boite de dialogue "Couleur" apparaît avec [ Private Sub Command1_Click() ] et pas avec
    [Private Sub mnuViewColor_Click() ] ?
    Merci de me consacrer de votre temps,
    Cordialement,

    Philippe085

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Salut
    Comment se fait-il que la boite de dialogue "Couleur" apparaît avec [ Private Sub Command1_Click() ] et pas avec
    [Private Sub mnuViewColor_Click() ] ?
    mnuViewColor doit être un objet menu ayant pour nom mnuViewColor a ajouter avec le bouton Créateur de menu dans l’éditeur VB.
    Pour preuve, sur un Formulaire nommé frmTitle, 1 CommonDialog (Contrôle Microsoft CommonDialog 6.0 comdlg32.ocx ) nommé cdbColor, 1 CommandButton nommé CmdViewColor et 1 Menu nommé mnuViewColor et ce
    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
    Option Explicit
    Private Sub Form_Load()
    frmTitle.Height = 3900: frmTitle.Width = 9765
    CmdViewColor.Move 0, 0, 3375, 255
    Me.FontSize = 16
    Print 'pour laisser la place au bouton CmdViewColor
    End Sub
     
    Private Sub MnuViewColor_Click()
    'declanchement avec le menu
    ModifierCouleur "MnuViewColor"
    End Sub
    Private Sub CmdViewColor_Click()
    'declanchement avec le CommandButton
    ModifierCouleur "CmdViewColor"
    End Sub
    Private Sub ModifierCouleur(Declancheur As String)
        cdbColor.CancelError = True   'Un click sur Annuler éqivaut
                                     ' à une erreur.
        On Error GoTo dbErrHandler    ' Bascule vers l'étiquette en cas d'erreur.
        ' Définit la propriété Flags.
        cdbColor.Flags = cdlCCFullOpen + cdlCCRGBInit '+ cdlCCHelpButton    ' Affichage complet.
        cdbColor.Color = frmTitle.ForeColor 'preselection  de la couleur en cour
        ' Affiche la boite de dialogue Couleur.
        cdbColor.ShowColor
        ' Définit la couleur d'arrière-plan de la feuille selon le choix de l'utilisateur.
        frmTitle.ForeColor = cdbColor.Color
        If Declancheur = "MnuViewColor" Then
            Print "Texte à mettre en couleur ICI AVEC LA PROCEDURE MnuViewColor_Click"
        End If
        If Declancheur = "CmdViewColor" Then
            Print "Texte à mettre en couleur ICI AVEC LA PROCEDURE CmdViewColor_Click"
        End If
        Exit Sub   'Fin de la procédure normale.
    dbErrHandler:
       ' L'utilisateur ayant cliqué sur Annuler,
       ' la procédure doit être ignorée.
       Exit Sub
    End Sub
    Nom : ImageForm.JPG
Affichages : 96
Taille : 34,3 Ko
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. Manipuler le contrôle WIA Common Dialog
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/12/2011, 14h46
  2. Réponses: 3
    Dernier message: 04/05/2011, 10h35
  3. Common Dialog ne fonctionne pas
    Par Mariquiqui dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/08/2008, 18h35
  4. Problème avec contrôle common Dialog 6.0
    Par electrosat03 dans le forum Access
    Réponses: 1
    Dernier message: 03/03/2007, 00h51
  5. Quoi ?! Common Dialog fait crasher DirectDraw ?
    Par Magus (Dave) dans le forum DirectX
    Réponses: 4
    Dernier message: 21/10/2002, 19h01

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