Utilisation du contrôle CommonDialog
Le contrôle CommonDialog fournit un ensemble de boîtes de dialogue standard pour des opérations telles que l'ouverture et l'enregistrement de fichiers, la définition des options d'impression et la sélection des couleurs et des polices. Le contrôle peut également afficher de l'aide lorsque le moteur d'aide Windows est en cours d'exécution.
Le contrôle CommonDialog fournit une interface entre Visual Basic et la routine Commdlg.dll de la bibliothèque de liens dynamiques Microsoft Windows. Afin de créer une boîte de dialogue avec ce contrôle, Commdlg.dll doit se trouver dans le répertoire MicrosoftWindows/System.
Afin d'utiliser le contrôle CommonDialog dans votre application, vous devez l'ajouter au formulaire et définir ses propriétés. La boîte de dialogue affichée par le contrôle est déterminée par les méthodes du contrôle. Lors de l'exécution, la boîte de dialogue ou le moteur d'aide s'affichera après l'appel de la méthode correspondante ; lors de la conception, le contrôle CommonDialog sera affiché sous forme d'icône sur le formulaire. La taille de cette icône ne peut pas être modifiée.
Le contrôle CommonDialog peut afficher les boîtes de dialogue courantes suivantes :
"Ouvrir"
"Enregistrer sous"
"couleur"
"Fonte"
"Imprimer"
Pour utiliser le contrôle CommonDialog
1. Si le contrôle CommonDialog n'est pas ajouté, vous devez sélectionner « Composants » dans le menu « Projet » et ajouter le contrôle à la boîte à outils. Recherchez et sélectionnez le contrôle dans les "Contrôles" de la boîte de dialogue de marquage, puis cliquez sur le bouton "OK".
2. Cliquez sur le contrôle "CommonDialog" dans la boîte à outils et dessinez le contrôle sur le formulaire. Lorsque vous dessinez un contrôle CommonDialog sur un formulaire, le contrôle est automatiquement redimensionné. Comme le contrôle Timer, le contrôle CommonDialog n’est pas visible au moment de l’exécution.
3. Lors de l'exécution, veuillez utiliser les méthodes répertoriées dans le tableau suivant de manière appropriée pour afficher la boîte de dialogue requise.
Afficher les boîtes de dialogue Ouvrir et Enregistrer sous
La boîte de dialogue Ouvrir vous permet de spécifier le lecteur, le répertoire, l'extension et le nom du fichier. La boîte de dialogue Enregistrer sous est identique en apparence à la boîte de dialogue Ouvrir, sauf que le titre de la boîte de dialogue et le nom du fichier sont grisés. Après avoir sélectionné un fichier et fermé la boîte de dialogue au moment de l'exécution, vous pouvez utiliser la propriété FileName pour obtenir le nom du fichier sélectionné.
Pour afficher la boîte de dialogue Ouvrir
1. Spécifiez la liste des filtres de fichiers affichés dans la zone de liste Types de fichiers.
La propriété Filter peut être définie au format suivant :
description1|filtre1|description2|filtre2...
Description est la chaîne affichée dans la zone de liste, par exemple TextFiles(*.txt). Le filtre est un véritable filtre de fichiers, par exemple *.txt. Chaque paramètre de description|filtre doit être séparé par un symbole de barre verticale (|).
2. Utilisez la méthode ShowOpen pour afficher la boîte de dialogue.
Après avoir sélectionné un fichier, vous pouvez utiliser la propriété FileName pour obtenir le nom du fichier sélectionné.
Pour toutes les boîtes de dialogue publiques, une erreur est générée lorsque la propriété CancelError est True et que l'utilisateur clique sur le bouton Annuler de la boîte de dialogue. Détectez une erreur lors de l'affichage de la boîte de dialogue pour détecter si le bouton Annuler a été enfoncé.
Le code suivant affiche la boîte de dialogue Ouvrir et ouvre les paramètres de la procédure de fichier avec le nom de fichier sélectionné :
PRivateSubmnuFileOpen_Click()
'CancelError est vrai.
OnErrorGoToErrHandler
'Définir le filtre.
CommonDialog1.Filter=AllFiles(*.*)|*.*|Texte_
Fichiers(*.txt)|*.txt|BatchFiles(*.bat)|*.bat
'Spécifiez le filtre par défaut.
CommonDialog1.FilterIndex=2
'Affichez la boîte de dialogue Ouvrir.
CommonDialog1.ShowOpen
'Appelez la procédure pour ouvrir le fichier.
OpenFile (CommonDialog1.FileName)
QuitterSub
Gestionnaire d'erreurs :
'L'utilisateur appuie sur le bouton "Annuler".
QuitterSub
EndSub
Utilisation de la boîte de dialogue Couleur
Utilisez la boîte de dialogue Couleur pour sélectionner une couleur dans une palette de couleurs ou pour créer et sélectionner une couleur personnalisée. Au moment de l'exécution, la propriété Color peut être utilisée pour obtenir la couleur sélectionnée après avoir sélectionné la couleur et fermé la boîte de dialogue.
Pour afficher la boîte de dialogue Couleur
1. Définissez la propriété Flags du contrôle CommonDialog sur la constante VisualBasic cdlCCRGBInit.
2. Utilisez la méthode ShowColor pour afficher la boîte de dialogue.
Vous pouvez utiliser la propriété Color pour obtenir la valeur RVB de la couleur sélectionnée. Le code suivant affiche la boîte de dialogue Couleur lorsque vous cliquez sur le bouton de commande Command1 :
PrivateSubCommand1_Click()
'Définissez Annuler sur True.
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'Définissez la propriété Flags.
CommonDialog1.Flags=cdlCCRGBInit
'Affichez la boîte de dialogue Couleur.
CommonDialog1.ShowColor
'Définit la couleur d'arrière-plan du formulaire sur la couleur sélectionnée'.
Form1.BackColor=CommonDialog1.Color
QuitterSub
Gestionnaire d'erreurs :
'L'utilisateur a appuyé sur le bouton "Annuler".
QuitterSub
EndSub
Utilisation de la boîte de dialogue Police
La boîte de dialogue Police sélectionne les polices en fonction de leur taille, de leur couleur et de leur style. Une fois que l'utilisateur sélectionne une police dans la boîte de dialogue Police, les propriétés suivantes contiennent des informations sur les options de l'utilisateur.
Pour afficher la boîte de dialogue Police
1. Définissez la propriété Flags sur l'une des constantes Visual Basic suivantes :
cdlCFScreenFonts (polices d'écran)
cdlCFPrinterFonts (polices d'imprimante)
cdlCFBoth (peut être une police d'écran ou une police d'imprimante)
Avertissement Vous devez définir la propriété Flags sur l'une de ces valeurs avant d'afficher la boîte de dialogue Police, sinon une erreur de police non présente se produira.
2. Utilisez la méthode ShowFont pour afficher la boîte de dialogue.
Le code suivant définit les propriétés de police d'une zone de texte en fonction des sélections de l'utilisateur dans la boîte de dialogue Police :
PrivateSubCommand1_Click()
'Définissez Annuler sur True.
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'Définissez la propriété Flags.
CommonDialog1.Flags=cdlCFBothOrcdlCFEffects
'Affichez la boîte de dialogue "Police".
CommonDialog1.ShowFont
'Définissez les propriétés du texte en fonction des sélections de l'utilisateur.
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
QuitterSub
Gestionnaire d'erreurs :
'L'utilisateur a appuyé sur le bouton "Annuler".
QuitterSub
EndSub
->