CFileDialog

Die CFileDialog -Klasse kapselt die Windows Standarddateidialogfelds. Allgemeine Datei-Dialogfelder bieten eine einfache Möglichkeit, Datei öffnen und Datei speichern unter Dialog Boxen (wie auch andere Dialogfelder Datei-Auswahl) in Einklang mit den Windows-Standards implementieren.

CFileDialog "wie besehen" können Sie mit dem Konstruktor bereitgestellt, oder Sie können Ihr eigenes Dialogfeldklasse von CFileDialog ableiten und Schreiben eines Konstruktors an Ihre Bedürfnisse anzupassen. In beiden Fällen verhält diesen Dialogfeldern Microsoft Foundation Klasse Standarddialogfelder wie da sie von der CCommonDialog -Klasse abgeleitet sind.

Um eine CFileDialog -Objekt verwenden, zunächst erstellen Sie das Objekt mit dem Konstruktor der CFileDialog . Nachdem das Dialogfeld erstellt wurde, können Sie festlegen oder Ändern Werte in der M_ofn -Struktur, die Werte oder Staaten der Steuerelemente des Dialogfelds zu initialisieren. Die M_ofn -Struktur ist der Typ OPENFILENAME. Weitere Informationen finden Sie unter der OPENFILENAME -Struktur in der Win32 SDK-Dokumentation.

Nach dem Initialisieren der Steuerelemente des Dialogfelds, rufen Sie die Memberfunktion DoModal um das Dialogfeld anzuzeigen und ermöglichen dem Benutzer den Pfad und den Dateinamen eingeben. DoModal gibt zurück, ob der Benutzer die OK (IDOK) oder die Schaltfläche Abbrechen (IDCANCEL) ausgewählt.

Wenn DoModal IDOKzurückgibt, können eines öffentlichen CFileDialog-Memberfunktionen Sie zum Abrufen der vom Benutzer eingegebenen Informationen.

CFileDialog umfasst mehrere geschützte Member, mit denen Sie benutzerdefinierte Behandlung der Verletzungen der Aktie, Dateinamen Validierung, zu tun und Listenfeld Änderungsbenachrichtigung. Diese geschützte Member sind Callback-Funktionen, die meisten Anwendungen nicht verwenden, da die Standardbehandlung automatisch erfolgt müssen. Meldungszuordnungseinträge für diese Funktionen sind nicht erforderlich, weil sie virtuelle Standardfunktionen sind.

Können Sie die Windows CommDlgExtendedError -Funktion, um festzustellen, ob ein während der Initialisierung des Dialogfelds Fehler und erfahren Sie mehr über den Fehler.

Die Zerstörung der CFileDialog -Objekte erfolgt automatisch. Es ist nicht notwendig, rufen Sie CDialog::EndDialog.

Damit den Benutzer mehrere Dateien auswählen, legen Sie das OFN_ALLOWMULTISELECT -Flag vor dem Aufruf von DoModal. Sie müssen Ihre eigene Dateiname Puffer für die zurückgegebene Liste von mehrere Dateinamen unterzubringen. Dazu ersetzen einen Zeiger auf einen Puffer, die, den Sie, den zugeordnet haben, nach dem Bau der CFileDialog, aber vor dem Aufruf von DoModal, m_ofn.lpstrFile . Darüber hinaus müssen Sie m_ofn.nMaxFile mit der Anzahl der Zeichen im Puffer, auf den m_ofn.lpstrFile festlegen.

CFileDialog beruht auf der COMMDLG.DLL-Datei, das im Lieferumfang von Windows 3.1 und höher.

Wenn Sie eine neue Klasse von CFileDialogableiten, können Sie eine Meldungszuordnung verwenden, um alle Nachrichten zu behandeln. Um die Standard-Nachrichtenverarbeitung zu erweitern, leiten Sie eine Klasse von CWnd, die neue Klasse fügen Sie eine Meldungszuordnung hinzu und bieten Sie Memberfunktionen für die neuen Nachrichten. Sie müssen nicht zu eine Hook-Funktion des Dialogfelds anpassen.

Um das Dialogfeld Anpassen, eine Klasse von CFileDialogableiten, bieten eine benutzerdefinierte Dialogfeldvorlage, und Hinzufügen einer Meldungszuordnung zu der erweiterten Steuerelemente die Benachrichtigungsmeldungen zu verarbeiten. Alle nicht verarbeiteten Nachrichten sollten an die Basisklasse übergeben werden.

Anpassen der Hook-Funktion ist nicht erforderlich.

Weitere Informationen zur Verwendung von CFileDialog, finden Sie unter Common Dialog-Klassen in Visual C++ Programmer's Guide.

# include lt;afxdlgs.h>

Klasse&nmember |nbsp; Basisklasse | Hierarchiediagramm

Index