CFileDialog

La clase de CFileDialog encapsula el cuadro de diálogo de archivos comunes de Windows. Cuadros de diálogo de archivos comunes proporcionan una manera sencilla de implementar abrir archivo y guardar archivo como diálogo cuadros (así como otros cuadros de diálogo de selección de archivos) de una manera consistente con los estándares de Windows.

Puede utilizar CFileDialog "tal cual" con el constructor proporcionado, o puede derivar su propia clase de diálogo CFileDialog y escribir un constructor para satisfacer sus necesidades. En cualquier caso, estos cuadros de diálogo se comportarán como cuadros de diálogo estándar de Microsoft Foundation clase porque se derivan de la clase CCommonDialog.

Para utilizar un objeto de CFileDialog , primero cree el objeto utilizando el constructor de CFileDialog . Después de que se ha construido el cuadro de diálogo, puede establecer o modificar los valores de la estructura de m_ofn para inicializar los valores o Estados de los controles del cuadro de diálogo. La estructura de m_ofn es de tipo OPENFILENAME. Para obtener más información, consulte el OPENFILENAME estructura en la documentación del SDK de Win32.

Después de inicializar los controles del cuadro de diálogo, llame a la función de miembro de DoModal para mostrar el cuadro de diálogo y permitir al usuario que introduzca la ruta y el archivo. DoModal devuelve si el usuario selecciona el Aceptar (IDOK) o el botón Cancelar (IDCANCEL).

Si DoModal devuelve IDOK, puede utilizar una de las funciones miembro público de CFileDialogpara recuperar la información de entrada por el usuario.

CFileDialog incluye varios miembros protegidos que permiten hacer manejo personalizado de cuota de violaciones, validación de nombre de archivo, y notificación de cambio de cuadro de lista. Estos miembros protegidos son funciones de devolución de llamada que mayoría de las aplicaciones no necesitan utilizar, desde tratamiento predeterminado se realiza automáticamente. Las entradas de mapa de mensajes para estas funciones no son necesarias porque son estándar funciones virtuales.

Puede utilizar la función de Windows CommDlgExtendedError para determinar si se ha producido un error durante la inicialización del cuadro de diálogo y para aprender más acerca del error.

La destrucción de objetos de CFileDialog se controla automáticamente. No es necesario llamar a CDialog::EndDialog.

Para permitir al usuario seleccionar varios archivos, establecer el indicador OFN_ALLOWMULTISELECT antes de llamar a DoModal. Es necesario proporcionar su propio búfer de nombre de archivo para dar cabida a la lista de nombres de archivos múltiples. Para ello, reemplazando a m_ofn.lpstrFile con un puntero a un búfer que se ha asignado, después de construir el CFileDialog, pero antes de llamar a DoModal. Además, debe establecer m_ofn.nMaxFile con el número de caracteres en el buffer apuntado por m_ofn.lpstrFile.

CFileDialog se basa en la COMMDLG.Archivo DLL que se distribuye con Windows versiones 3.1 y posteriores.

Si se deriva una nueva clase de CFileDialog, puede utilizar un mapa de mensajes para controlar los mensajes. Para extender el mensaje predeterminado manipulación, derivar una clase CWnd, agregar un mapa de mensajes para la nueva clase y proporcionar funciones miembro para los mensajes nuevos. No es necesario proporcionar una función de enlace para personalizar el cuadro de diálogo.

Para personalizar el cuadro de diálogo, derive una clase de CFileDialog, proporcionar una plantilla de cuadro de diálogo personalizado y agregar un mapa de mensajes para procesar los mensajes de notificación de los controles extendidos. Los mensajes no procesados deben pasar a la clase base.

No es necesario personalizar la función de enlace.

Para obtener más información sobre el uso de CFileDialog, consulte Clases de diálogo comunes en la Guía del programador de Visual C++.

# include lt;afxdlgs.h>

Miembros de la claseClase base | Diagrama de jerarquía

Index