Compartir a través de


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

Vea también

Referencia

CFileDialog Class

Gráfico de jerarquías

CDialog::DoModal

CFileDialog::CFileDialog