Programación General > C++ Builder
abrir una ventana de exploracion (file browser)
(1/1)
rompecabezas:
Hay alguna instruccion en c++ que me permita abrir una ventana de exploracion?
Tengo un boton "examinar", y quiero que al apretarlo se me abra una ventana que me permita recorrer el sistema de ficheros y seleccionar un archivo.
Alguna sugerencia? gracias!
lair:
Hola.
builder tiene una pestania que se llama dialog, de esta puedes tomar un openfiledialog no re cuerdo bien el nombre de componente pero es algo asi
suerte
rompecabezas:
gracias! si es ese... ahora solo me falta saber como utilizarlo, jeje
donde puedo cambiar el directorio raiz por defecto?
si es que no tengo ni idea...
Dante_2010:
Hola mi estimado,procedo a pasarte el codigo que yo uso para abrir este dialogo estandart :comp:
--- Citar ---char pstrFileName[256]; //la ruta del fichero
char pstrFileTitle[256]; //el titulo del documento a abrir
static OPENFILENAME ofn ; // la estructura que se utiliza (nota 1)
//Lo siguiente sera en este orden:
//1)Descripicion del fichero a buscar
//2)la extencion de ejemplo
//3)la extension real
//4)otros tipos de ficheros separados por
static TCHAR szFilter[] = TEXT ("Text Files (*.TXT)*.txt")
TEXT ("ASCII Files (*.ASC)*.asc")
TEXT ("All Files (*.*)*.*") ;
ofn.lStructSize = sizeof (OPENFILENAME) ; //tamaño de la estructura
ofn.hwndOwner = hDlg ; //el nombre del HWND en el procedure
ofn.hInstance = NULL ; //la instancia de la aplicacion(poner NULL)
ofn.lpstrFilter = szFilter ;//los parametros de la estructura szFilter
ofn.lpstrCustomFilter = NULL ;//alguna especificacion que desconosco
ofn.nMaxCustFilter = 0 ;
ofn.nFilterIndex = 0 ;
// La ruta del directorio inicial(NULL es el directorio defecto)
ofn.lpstrFile = NULL ;
ofn.nMaxFile = MAX_PATH ;
//el nombre del archivo a abrir por defecto
ofn.lpstrFileTitle = NULL ;
ofn.nMaxFileTitle = MAX_PATH ;
ofn.lpstrInitialDir = NULL ;
ofn.lpstrTitle = NULL ;
// Las banderas de formato,revisar en la API Win32
ofn.Flags = 0 ;
ofn.nFileOffset = 0 ;
ofn.nFileExtension = 0 ;
//la extencion del archivo por defecto
ofn.lpstrDefExt = TEXT ("txt") ;
ofn.lCustData = 0L ;
ofn.lpfnHook = NULL ;
ofn.lpTemplateName = NULL ;
//la ventana padre de este cuadro de dialogo estandart
ofn.hwndOwner = hDlg ;
//las dos variables del principio
ofn.lpstrFile = pstrFileName ;
ofn.lpstrFileTitle = pstrFileTitle;
//flags para tratar el cuadro de dialogo
ofn.Flags = OFN_HIDEREADONLY | OFN_CREATEPROMPT ;
//funcion final para pasar los parametros a la estructura y almacenarlos
GetOpenFileName (&ofn) ;
--- Fin de la cita ---
nota 1:la razon de que sea static es que la estructura la declare dentro de un switch :ph34r:
nota 2:esto puede ser utilizado en muchos lugares,por ejemplo en WinMain,luego de crear la ventana,y antes de mostrarla
o inclusive y mejor aun dentro de un WndProc( LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg,WPARAM wParam,LPARAM lParam))
o dentro de un dlg proc (BOOL CALLBACK dlgProc(lo mismo que wndProc)) :clown:
espero que te sea util,cualquier consulta a las ordenes :hola: :hola: :hola:
rompecabezas:
gracias!
Navegación
Ir a la versión completa