CFileDialog

La classe CFileDialog incapsula nella finestra di dialogo file Windows comune. Finestra di dialogo file comuni fornisce un modo semplice per implementare Apri File e Salva con nome di File di dialogo scatole (così come altre finestre di dialogo di selezione file) in modo coerente con gli standard di Windows.

È possibile utilizzare CFileDialog "come è" con il costruttore fornito, oppure è possibile derivare una classe di dialogo da CFileDialog e scrivere un costruttore alle proprie esigenze. In entrambi i casi, queste finestre di dialogo si comporteranno come standard Microsoft Foundation class finestre di dialogo, perché essi sono derivati dalla classe CCommonDialog.

Per utilizzare un oggetto CFileDialog , prima di creare l'oggetto utilizzando il costruttore CFileDialog . Dopo che è stata costruita nella finestra di dialogo, è possibile impostare o modificare eventuali valori nella struttura m_ofn per inizializzare i valori o stati dei controlli della finestra di dialogo. La struttura di m_ofn è di tipo OPENFILENAME. Per ulteriori informazioni, vedere la struttura OPENFILENAME nella documentazione SDK Win32.

Dopo l'inizializzazione controlli della finestra di dialogo, chiamare la funzione membro DoModal per visualizzare la finestra di dialogo e consentire all'utente di immettere il percorso e file. DoModal restituisce se l'utente selezionato l'OK (IDOK) o il pulsante Annulla (IDCANCEL).

Se DoModal restituisce IDOK, è possibile utilizzare una delle funzioni membro pubblico di CFileDialogper recuperare le informazioni di input da parte dell'utente.

CFileDialog include diversi membri protetti che consentono di fare la gestione personalizzata di quota violazioni, filename convalida, e notifica delle modifiche nella casella di riepilogo. Questi membri protetti sono funzioni di callback che la maggior parte delle applicazioni non è necessario utilizzare, poiché gestione predefinita è fatto automaticamente. Le voci della mappa messaggi per queste funzioni non sono necessarie, perché sono funzioni virtuali standard.

È possibile utilizzare la funzione di Windows CommDlgExtendedError per determinare se si è verificato un errore durante l'inizializzazione della finestra di dialogo e per ulteriori informazioni sull'errore.

La distruzione degli oggetti CFileDialog è gestita automaticamente. Non è necessario chiamare il CDialog::EndDialog.

Per consentire all'utente di selezionare più file, impostare il flag OFN_ALLOWMULTISELECT prima di chiamare DoModal. È necessario fornire il proprio buffer nomefile per ospitare l'elenco restituito di nomi di file multipli. Fare questo, sostituendo m_ofn.lpstrFile con un puntatore a un buffer allocato dopo costruire l' oggetto CFileDialog, ma prima di chiamare DoModal. È inoltre necessario impostare m_ofn.nMaxFile con il numero di caratteri nel buffer a cui puntato m_ofn.lpstrFile.

CFileDialog si basa sulla COMMDLG.File DLL che viene fornito con Windows 3.1 e versioni successive.

Se si deriva una classe nuova da CFileDialog, è possibile utilizzare una mappa dei messaggi per gestire i messaggi. Per estendere il gestione di messaggi predefiniti, derivare una classe da CWnd, aggiungere una mappa messaggi per la nuova classe e fornire funzioni membro per i nuovi messaggi. Non è necessario fornire una funzione hook per personalizzare la finestra di dialogo.

Per personalizzare la finestra di dialogo, derivare una classe dall'oggetto CFileDialog, fornire un modello di dialogo personalizzate e aggiungere una mappa messaggi per elaborare i messaggi di notifica da controlli estesi. Eventuali messaggi non trasformati devono essere passati alla classe base.

Non è necessario personalizzare la funzione hook.

Per ulteriori informazioni sull'utilizzo di CFileDialog, vedere Classi di dialogo comuni nel manuale del programmatore di Visual C++.

# include lt;afxdlgs.h>

Membri della classeClasse base | Gerarchia Chart

Index