CFileDialog::DoModal
Llame a esta función para mostrar el cuadro de diálogo de archivos comunes de Windows y permite al usuario explorar los archivos y directorios y escriba un nombre de archivo.
virtual INT_PTR DoModal( );
Valor devuelto
IDOK o IDCANCEL. Si se devuelve IDCANCEL , llame a la función de Windows CommDlgExtendedError para determinar si se ha producido un error.
IDOK y IDCANCEL son constantes que indican si el usuario seleccionó OK o el botón Cancelar.
Comentarios
Si desea inicializar las diferentes opciones del cuadro de diálogo de archivos estableciendo los miembros de la estructura de m_ofn , debe hacerlo antes de llamar a DoModal, pero después de que se cree el objeto de diálogo.
Por ejemplo, si desea permitir a varios archivos de selección, establezca OFN_ALLOWMULTISELECT marca antes de llamar a DoModal, como se muestra en el ejemplo de código en Clase CFileDialog.
Cuando el usuario hace clic en los botones ACEPTAR o Cancelar en el cuadro de diálogo, o selecciona la opción close menú de control del cuadro de diálogo, el control se devuelve a la aplicación. Puede llamar a otras funciones miembro para recuperar los valores o información los datos proporcionados por el usuario en el cuadro de diálogo.
DoModal es una función virtual reemplazada de la clase CDialog.
Ejemplo
void CMyClass::OnFileOpen()
{
// szFilters is a text string that includes two file name filters:
// "*.my" for "MyType Files" and "*.*' for "All Files."
TCHAR szFilters[]= _T("MyType Files (*.my)|*.my|All Files (*.*)|*.*||");
// Create an Open dialog; the default file name extension is ".my".
CFileDialog fileDlg(TRUE, _T("my"), _T("*.my"),
OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);
// Display the file dialog. When user clicks OK, fileDlg.DoModal()
// returns IDOK.
if(fileDlg.DoModal() == IDOK)
{
CString pathName = fileDlg.GetPathName();
// Implement opening and reading file in here.
//Change the window's title to the opened file's title.
CString fileName = fileDlg.GetFileTitle();
SetWindowText(fileName);
}
}
Requisitos
encabezado: afxdlgs.h