• Jueves 2 de Mayo de 2024, 04:25

Autor Tema:  Dialogo Abrir De La Api  (Leído 2068 veces)

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Dialogo Abrir De La Api
« en: Sábado 5 de Junio de 2004, 02:06 »
0
Hola a todos,

Tengo una necesidad de mostrar, y utilizar el dialogo abrir de la API de Windows, pero no se como hacerlo, lo he intntado todo, pero no me da. Agradeceria mucho cualquier ayuda. Trabajo en Visual C++. y en principio llamaria al dialogo desde un menu. Muchas gracias.

Salu2.
Saludos,

Francisco Ayala Pinazo
Lima - Perú

navisoft

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
    • http://www.latindevelopers.com
Re: Dialogo Abrir De La Api
« Respuesta #1 en: Lunes 7 de Junio de 2004, 05:00 »
0
Utiliza el siguiente codigo:
Código: Text
  1.  
  2. void CTuDialogo::OnClickEnAlgunBoton()
  3. {
  4.    CFileDialog fileDialog(/*parametros*/);
  5.  
  6.    if( fileDialog.DoModal ()==IDOK )
  7.    {
  8.       CString path = fileDialog.GetPathName();
  9.    
  10.       CString name = fileDialog.GetFileTitle ();
  11.    
  12.       MesasgeBox(name); // solo para probar
  13.    }
  14. }
  15.  
  16.  
Primerop que nada tienes que revisar la documentacion para saber que parametros vas a utilizar ...

espero que te sirva de algo.

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Dialogo Abrir De La Api
« Respuesta #2 en: Lunes 7 de Junio de 2004, 18:42 »
0
la verda que lo he probado pero no va, este es el codigo que yo tengo:

BOOL Dabrir(HWND hWnd)
{
   OPENFILENAME  OpenFileName;

   OpenFileName.lStructSize=sizeof(OPENFILENAME);
{
    OpenFileName.hwndOwner         = hWnd;
    OpenFileName.lpstrFilter       = NULL;
    OpenFileName.lpstrCustomFilter = NULL;
    OpenFileName.nMaxCustFilter    = 0;
    OpenFileName.nFilterIndex      = 0;
    OpenFileName.lpstrFileTitle    = NULL;
    OpenFileName.nMaxFileTitle     = 0;
    OpenFileName.lpstrInitialDir   = NULL;
    OpenFileName.lpstrTitle        = "Open a File";
    OpenFileName.nFileOffset       = 0;
    OpenFileName.nFileExtension    = 0;
    OpenFileName.lpstrDefExt       = NULL;
    OpenFileName.Flags             = OFN_SHOWHELP | OFN_EXPLORER | OFN_ENABLEHOOK | OFN_ENABLETEMPLATE;
   
   GetOpenFileName(&OpenFileName);
   }OPENFILENAME;

   return 0;
}

no se que esta mal, por que no abra cuando llamo a la funcion. Gracias por la ayuda
Saludos,

Francisco Ayala Pinazo
Lima - Perú

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Dialogo Abrir De La Api
« Respuesta #3 en: Miércoles 9 de Junio de 2004, 12:24 »
0
OPENFILENAME Abrir;
  char *file = (char*)MALLOC(1024);
  char *path = (char*)MALLOC(1024);
  ZeroMemory(&Abrir, sizeof(OPENFILENAME));
  Abrir.lStructSize = sizeof(OPENFILENAME);
  Abrir.hwndOwner = NULL;
  Abrir.nFilterIndex = 1;
  Abrir.lpstrFile = path;
  Abrir.nMaxFile = 1024;
  Abrir.lpstrFileTitle = file;
  Abrir.nMaxFileTitle = 1024;
  Abrir.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
  Abrir.lpstrFilter = "Texto\0*.txt\0Todos los archivos\0*.*\0";
  Abrir.lpstrInitialDir = 0;
  Abrir.lpstrTitle = "Selecciona un archivo\0\0";
  DWORD Abierto = GetOpenFileName(&Abrir);

  if (Abierto != 0) { MessageBox(0,path,path,0); } //aca esta el archivo que seleccionaron
  free(file);
  free(path);

 :ph34r:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

fap1603

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Dialogo Abrir De La Api
« Respuesta #4 en: Miércoles 9 de Junio de 2004, 12:49 »
0
Muchas gracias, me ha salido muy bien.
Saludos,

Francisco Ayala Pinazo
Lima - Perú

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Dialogo Abrir De La Api
« Respuesta #5 en: Miércoles 9 de Junio de 2004, 12:50 »
0
Menos mal jeje  :P

 :ph34r:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.