La classe CFileDialog encapsule la boîte de dialogue de fichier commune Windows. Des boîtes de dialogue fichier courantes offrent un moyen facile à mettre en œuvre le fichier ouvrir fichier enregistrer sous boîte de dialogue Cases (ainsi et autres boîtes de dialogue de sélection de fichier) d'une manière compatible avec les normes de Windows.
Vous pouvez utiliser CFileDialog "tel quel" avec le constructeur fourni, ou vous pouvez dériver votre propre classe de boîte de dialogue de CFileDialog et écrire un constructeur en fonction de vos besoins. Dans les deux cas, ces boîtes de dialogue seront comportent comme des boîtes de dialogue de classe standard Microsoft Foundation parce qu'elles sont dérivées de la classe CCommonDialog.
Pour utiliser un objet CFileDialog , créez d'abord l'objet en utilisant le constructeur CFileDialog . Après que la boîte de dialogue a été construite, vous pouvez définir ou modifier toutes les valeurs de la structure m_ofn pour initialiser les valeurs ou les États de contrôles de la boîte de dialogue. La structure m_ofn est de type OPENFILENAME. Pour plus d'informations, consultez la structure OPENFILENAME dans la documentation du SDK Win32.
Après l'initialisation de contrôles de la boîte de dialogue, appelez la fonction de membre de DoModal pour afficher la boîte de dialogue et de permettre à l'utilisateur d'entrer le chemin et le fichier. DoModal retourne si l'utilisateur a sélectionné le OK (IDOK) ou sur le bouton Annuler (IDCANCEL).
Si DoModal retourne IDOK, vous pouvez utiliser une des fonctions de membre public de CFileDialogpour récupérer les informations entrées par l'utilisateur.
CFileDialog comprend plusieurs membres protégés qui vous permettent de faire une gestion personnalisée des violations de partage, validation de nom de fichier, et la zone de liste change notification. Ces membres protégés sont des fonctions de rappel que la plupart des applications ne sont pas nécessaire d'utiliser, de la gestion par défaut est effectuée automatiquement. Message-carte entrées pour ces fonctions ne sont pas nécessaires parce qu'ils sont des fonctions virtuelles standards.
Vous pouvez utiliser la fonction Windows CommDlgExtendedError pour déterminer si une erreur s'est produite lors de l'initialisation de la boîte de dialogue et pour en savoir plus sur l'erreur.
La destruction d'objets CFileDialog est gérée automatiquement. Il n'est pas nécessaire d'appeler le CDialog::EndDialog.
Pour permettre à l'utilisateur de sélectionner plusieurs fichiers, définissez l'indicateur OFN_ALLOWMULTISELECT avant d'appeler DoModal. Vous devez fournir votre propre tampon filename pour accommoder la liste retournée de noms de fichiers multiples. Cela en remplaçant m_ofn.lpstrFile par un pointeur vers une mémoire tampon que vous avez attribué, après la construction du CFileDialog, mais avant d'appeler DoModal. En outre, vous devez définir m_ofn.nMaxFile avec le nombre de caractères dans la mémoire tampon pointée par m_ofn.lpstrFile.
CFileDialog s'appuie sur la COMMDLG.Fichier DLL qui est livré avec Windows version 3.1 ou ultérieure.
Si vous dérivez une nouvelle classe de CFileDialog, vous pouvez utiliser une carte message pour gérer les messages. Pour étendre le message par défaut de manutention, dérivez une classe de CWnd, ajouter une carte message à la nouvelle classe et fournir des fonctions membres pour les nouveaux messages. Vous n'avez pas besoin de fournir une fonction de raccordement pour personnaliser la boîte de dialogue.
Pour personnaliser la boîte de dialogue, dérivez une classe de CFileDialog, fournir un modèle de boîte de dialogue personnalisée et ajouter une carte message pour traiter les messages de notification des contrôles étendus. Les messages d'état brut doivent être passés à la classe de base.
Personnalisation de la fonction de raccordement n'est pas nécessaire.
Pour plus d'informations sur l'utilisation de CFileDialog, voir Classes de boîte de dialogue communes dans le Guide du programmeur Visual C++.
# include lt;afxdlgs.h>
Membres de la classe |  ; Classe de base | Graphique de la hiérarchie