Puedes usar la clase
CFileDialog de las MFC la cual encapsula el cuadro de dialogo comun que muestra la ventana de dialogo tipica de Windows donde puedes escoger uno o varios archivos y navegar en la estructura de directorios y cambiar de unidades de disco o red.
Para usarla simplemente declaras un objeto de esa clase (o creas una nueva clase que derive de esta, para que la adaptes a tu gusto), y al momento de crearla tienes que pasarle al constructor un valor booleano (bueno, en realidad puedes pasarle otros parametros mas, pero estos se inicializan por defecto con valores pre-establecidos). Una vez hecho esto, puedes establecer o modificar los valores de la estructura
m_ofn para inicializar o cambiar los controles de la ventana de dialogo. La estructura
m_ofn es de tipo
OPENFILENAME, la cual puedes ver en la
Plataforma SDK. Para que se muestre este dialogo solo tienes que llamar a la funcion miembro
DoModal el cual regresa uno de dos valores:
IDOK e
IDCANCEL. Si regresa
IDOK puedes usar las funciones miembro publicas de la clase
CFileDialog para recuperar la informacion que dio el usuario en esta ventana de dialogo.
Para probarlo con el Visual C++ .NET 2003 cree un proyecto con las MFC de tipo dialogo y le agregue un solo boton. En el codigo asociado al boton cuando lo presionas puse este codigo
Código:
void CdialogoDlg::OnBnClickedButton1()
{
// TODO: Agregue aquí su código de controlador de notificación de control
CFileDialog cfiledialog(FALSE);
cfiledialog.DoModal ();
}
y me mostro la ventana para buscar los archivos sin ningun problema