SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: sam147 en Miércoles 9 de Marzo de 2005, 11:31
-
Hola a todos,
Tengo un problema y es que no encuentro la manera de crear un diágolo para que un usuario selecione una caperta y luego yo operar sobre esa carpeta.
Cuando queria trabajar sobre un archivo seleccionado por el usuario lo hacia mediante...
CFileDialog dialogFich(false,"",NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filtro);
if(dialogFich.DoModal()!=IDOK)return 0;
Pero no consigo ver la manera de hacer lo mismo para que el usuario selecione una carpeta.
Muchas gracias. :D
-
Hola
En esta pagina tienes varios ejemplos:
http://www.codeguru.com/Cpp/W-D/dislog/dia...lectingfolders/ (http://www.codeguru.com/Cpp/W-D/dislog/dialogforselectingfolders/)
espero que te sea de ayuda
un saludo :hola: :D
-
Muchas gracias Diodo !!! ;)
Voy a pegarme con ello a ver si consigo solucionarlo. :comp:
Saludos :hola:
-
Problema solucionado !!! :D
Explico como lo he realizado por si a alguien le puede servir...
Al final he utilizado la funcion SHBrowseForFolder, que es la
que recomiendo Microsoft para seleccionar una carpeta desde
un dialgo.
void CDescargarArchivo::OnFileOpen()
{
typedef char StringType[MAX_PATH];
BROWSEINFO bi;
StringType Folder;
StringType FullPath;
char Title[] = "Selecciona el Directorio Destino";
// Initialization code for the BROWSEINFO struct:
bi.hwndOwner = this->m_hWnd;
bi.pszDisplayName = Folder;
bi.lpszTitle = Title;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.pidlRoot = NULL;
bi.lpfn = NULL;
if (SHGetPathFromIDList(::SHBrowseForFolder(&bi), FullPath))
{
m_sGuardarComo = FullPath; // Here we assume the m_Dir is a variable
associated with an edit box
UpdateData(FALSE); // Put data into edit boxes (or do whatever you
want to do with it)
}
}
Saludos.