![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
cuadro de dialogo
hello friends, necesito saber como crear , un cuadro de dialogo para seleccionar una carpeta , yo tengo entendido que se hace mediante la estrucctura BROWSEINFO y usando la funcion SHBrowseForFolder, ya se como hacerlo en delphi, pero necesito saber como hacerlo en c++.
Última edición por kenychy fecha: 20-08-2010 a las 16:19:21. |
|
#2
|
||||
|
||||
|
En C++ Builder:
Código:
#include <FileCtrl.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String Carpeta;
SelectDirectory("Seleccione carpeta", "", Carpeta);
}
Última edición por escafandra fecha: 20-08-2010 a las 20:35:07. |
|
#3
|
||||
|
||||
|
Si lo deseas sólo con la API (SHBrowseForFolder) y válido para compiladores diferentes al Builder, podemos hacer una implementación sencilla de dicha función:
Código:
BOOL SelectDirectory(HWND hWnd, const PCHAR Caption, PCHAR Directory)
{
BROWSEINFO BrowseInfo;
LPITEMIDLIST ItemIDList;
LPMALLOC ShellMalloc;
ZeroMemory(&BrowseInfo, sizeof(BrowseInfo));
if(SHGetMalloc(&ShellMalloc) == S_OK && ShellMalloc){
BrowseInfo.hwndOwner = hWnd;
BrowseInfo.pidlRoot = 0;
BrowseInfo.pszDisplayName = Directory;
BrowseInfo.lpszTitle = Caption;
BrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS;
ItemIDList = SHBrowseForFolder(&BrowseInfo);
if(ItemIDList){
SHGetPathFromIDList(ItemIDList, Directory);
ShellMalloc->Free(ItemIDList);
}
}
return ItemIDList!=0;
}
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Asegúrate que la variable Carpeta tiene un tamaño igual o mayor que MAX_PATH
char Carpeta[MAX_PATH];
SelectDirectory(Handle, "Seleccione carpeta", Carpeta);
}
|
|
#4
|
|||
|
|||
|
gracias men
|
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Capturar los botones de los cuadro de dialogo | GerTorresM | Varios | 2 | 29-12-2009 22:21:28 |
| Controlar un cuadro de dialogo? | c0lo | Internet | 0 | 12-08-2008 04:29:21 |
| Quitar en rave cuadro dialogo impresora | hob | Impresión | 2 | 09-08-2006 18:08:20 |
| Cuadro de Dialogo | Caro | Varios | 5 | 10-10-2005 19:20:34 |
| ocultar cuadro de dialogo de Guardar como | valentine | Varios | 1 | 03-06-2004 13:04:51 |
|