FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Controlar tama帽o ventana cGetfile [SOLUCIONADO]
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Controlar tama帽o ventana cGetfile [SOLUCIONADO]
Posted: Wed Dec 30, 2020 10:34 AM
Hola a todos

Tengo una duda: A trav茅s de un di谩logo llamo a la siguiente funci贸n, creo una serie de carpetas y muestro el contenido de la 煤ltima carpeta con cGetfile, pero la ventana ocupa toda la pantalla y no da opci贸n a minimizarla ni a reducir el tama帽o.

El c贸digo es el siguiente:

if HB_DirExists( Curdrive()+":\"+cRaiz+"\"+CarpetaSAT )

if HB_DirExists( Curdrive()+":\"+cRaiz+"\"+CarpetaSAT+"\"+apunte)
msgalert("Ya existe ese apunte")

aFiles:=Array( ADir( Curdrive()+":\"+cfILES+"\"+"*.*", aFiles ) )
if len(aFiles)==0
msgInfo("La carpeta esta vac铆a. Debe a帽adir ficheros asociados")
endif


cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,.t.,,)
else
if lMkDir(Curdrive()+":\"+cRaiz+"\"+Carpetasat+"\"+apunte)
MsgInfo( "Debe a帽adir los ficheros asociados")
cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,.t.,,)
endif
endif
endif

El resultado es este:



Ya digo, ocupa toda la pantalla. 驴Hay alguna forma de controlar el tama帽o de la ventana?

Un saludo y gracias
FWH 20.12 BCC7
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 01:52 PM

La imagen no se ve
Yo uso

https://postimages.org/

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 02:02 PM
Hola, CNavarro

A ver si ahora se ve la imagen
FWH 20.12 BCC7
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 02:20 PM

Ram贸n,

Prueba as铆:

define OFN_ENABLESIZING 0x00800000

cGetFile( "Todos los archivos (.)|.", "Contenido de la carpeta",, Cfiles,,,OFN_ENABLESIZING,,)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 02:32 PM

Hola, Antonio

He introducido lo que me has indicado y la ventana sigue igual.

El c贸digo completo del archivo es este:

include "fivewin.ch"

define OFN_ENABLESIZING 0x00800000

function ANEXA(cnum, cnom, nLibro, dfecha, cCentro, cDoc, cPrio, cClasedoc)

Local cRaiz:="\COMPARTIDO\REGSAT\WINSAT\DOCUMENTAL"
LOCAL CarpetaSAT:=alltrim(cnum)+"-"+alltrim(cnom)
Local libro:=strzero(nlibro,6)
LOCAL fecha:=strzero(day(dfecha),2)+strzero(month(dfecha),2)+str(year(dfecha),4)
Local Clasedoc:=alltrim(cClasedoc)
Local aFiles, aDir
Local cFolder := cRaiz+"\"+CarpetaSAT+"\"+Libro+"\"+fecha+"\"+Clasedoc
Local apunte :=libro+"-"+fecha
Local cFiles := cRaiz+"\"+CarpetaSAT+"\"+apunte
SET CENTURY ON
SET DATE TO FRENCH

//----------------Si no existe, se crea carpeta de la SAT------------------

if ! HB_DirExists( Curdrive()+":\"+cRaiz+"\"+CarpetaSAT )
if lMkDir( Curdrive()+":\"+cRaiz+"\"+CarpetaSAT )
MsgInfo( "La carpeta de la SAT no exist铆a y se ha creado")
endif
endif

//-------- Comprobado que existe la carpeta raiz, creamos las subcarpetas--------------

if HB_DirExists( Curdrive()+":\"+cRaiz+"\"+CarpetaSAT )

if HB_DirExists( Curdrive()+":\"+cRaiz+"\"+CarpetaSAT+"\"+apunte)
msgalert("Ya existe ese apunte")

          aFiles:=Array( ADir( Curdrive()+":\"+cfILES+"\"+"*.*", aFiles ) )
          if len(aFiles)==0
           msgInfo("La carpeta esta vac铆a. Debe a帽adir ficheros asociados")
           endif

  cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,OFN_ENABLESIZING,,)
  //cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,.t.,,)
  else
  if lMkDir(Curdrive()+":\"+cRaiz+"\"+Carpetasat+"\"+apunte)
  MsgInfo( "Debe a帽adir los ficheros asociados")
//  (cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,.t.,,),1)
  cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,OFN_ENABLESIZING,,)

endif
endif
endif

return nil

FWH 20.12 BCC7
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 02:38 PM
Ram贸n,

Seg煤n esta documentacion de Microsoft:
https://docs.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-openfilenamea
hay que usar OFN_ENABLESIZING para poder redimensionar la caja de di谩logo.

Este valor lo recibe la funci贸n cGetFile() en el s茅ptimo par谩metro:
DWORD dwFlags = IF( hb_pcount() > 6 && HB_ISNUM( 7 ), hb_parnl( 7 ), 2060 );

No lo he probado, solo me he limitado a buscar esa informaci贸n.

Otra opci贸n es verificar si la funci贸n cGetFile() sigue usando la funci贸n en C ComDlgHkFile() y desde ahi modificar el tama帽o.
Si la primera soluci贸n no te funciona habr谩 que investigar esta segunda opci贸n.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 02:43 PM

Gracias, Antonio

Ah铆 me has pillado. Eso ya est谩 fuera de mis conocimientos. La verdad es que no s茅 c贸mo solucionar ese problema.

De todas maneras, agradezco tu atenci贸n

un saludo

FWH 20.12 BCC7
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 02:56 PM
Prueba esto tal y como te lo pongo y dime si la ventana tambi茅n aparece maximizada
Code (fw): Select all Collapse
 local cExt  := "*"
 ? cGetFile( "Archivos ( *. " + cExt + ") |*." + cExt + "|", "Seleccione Fichero", , ".\" )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 03:13 PM
Hola, CNavarro

Ahora sale peque帽a, centrada y se puede redimensionar con el puntero.



Y al cerrar sale esto:

FWH 20.12 BCC7
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 03:39 PM

CNavaro, lo acabo de probar de nuevo y sigue igual, es decir, pantalla completa y sin poder redimensionar.

Tiene un comportamiento extra帽o

FWH 20.12 BCC7
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 03:59 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 05:06 PM
Gracias, Jo茫o, pero no vale para mi caso. Adem谩s, como le he comentado a Antonio, no funciona con cGetFile( "Todos los archivos (*.*)|*.*", "Contenido de la carpeta",, Cfiles,,,OFN_ENABLESIZING,,), que es la soluci贸n que buscaba. es decir, la imagen siguiente (figurada):



Como podr谩s ver, lo que pretende es que al abrir una di谩logo de edici贸n de registro sobre un xbrowse, se cree una ruta de carpetas para luego abrir la 煤ltima creada y pegar archivos en ella.

Te agradezco tu atenci贸n
FWH 20.12 BCC7
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Controlar tama帽o ventana cGetfile
Posted: Wed Dec 30, 2020 09:25 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 152
Joined: Mon Feb 13, 2006 08:23 PM
Re: Controlar tama帽o ventana cGetfile [SOLUCIONADO]
Posted: Thu Dec 31, 2020 12:00 PM

Gracias, Jo茫o.

Feliz A帽o Nuevo a todos
Un saludo

FWH 20.12 BCC7

Continue the discussion