FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda para ajustar xbrowse en Folderex
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Ayuda para ajustar xbrowse en Folderex
Posted: Fri Feb 10, 2017 07:31 PM
He cambiado a Folderex, y la verdad es que ha mejorado bastante el aspecto respecto a folder, pero el xbrowse no se me ajusta al folder

Por ejemplo son 10 columnas y solo me salen nueve cuando hay espacio a la derecha y falta el scroll horizontal, además me gustaria subir el xbrowse un poco hacia arriba para que se vea el scroll horizontal y quede algo más vistoso.


Se que es cuestión de estética pero la estética es importante también.

Os dejo también el código.

Gracias por vuestra ayuda .


Code (fw): Select all Collapse
for i:=1 to vcolumnas+1
     if i = 1
         AADD(V_Header," ")
         AADD(V_Colsize,50)
     ELSE
         AADD(V_Header,"Columna "+alltrim(transform(i-1,"999")))
*         AADD(V_Header,chr(VASCII++))
         AADD(V_Colsize,100)
     endif
next i



vprompt:= '" 1 Profundidad"'
for i:=2 to vprofundo

     vprompt:=vprompt+","+'"'+alltrim(transform(i,"999"))+' Profundidad"'
next i
vfolders:='"FOLDERS"'
FOR i:= 2 to vprofundo
    vfolders:=vfolders+","+'"FOLDERS"'
next i

   aData    := Array( vprofundo )
   aData[ 1 ]  := Array( vfilas, vcolumnas+1 )

   AEval( aData[ 1 ], { |a,k| a[ 1 ] := chr(( k )+64) } )
   for i:= 2 to vcolumnas+1
        AEval( aData[ 1 ], { |a,k| a[ i ] := space(10) } )
   next i
   AEval( aData, { |u,k| aData[ k ] := AClone( aData[ 1 ] ) }, 2 )
   oBrw  := Array( vprofundo )

    area:=select()
    cdestant := OpenDbf(fdestant,1, , , , kdestant,"DBFCDX")
   (cdestant)->(DbSetOrder(1))
   (cdestant)->(Dbgotop())
    acdestan:=select()
    dbseek(vestanteria)
    do while !eof() .and. (cdestant)->estanteria = vestanteria
      aData[(cdestant)->profundo][(cdestant)->fila,(cdestant)->columna+1]:= (cdestant)->articulo
       dbskip()
    enddo
    (cdestant)->(Dbclosearea())
    select(area)



 DEFINE Dialog oDDATOS RESOURCE "FOLDER_VARIOS" TITLE "Estanteria : "+alltrim(vestanteria)+" -- "+alltrim(vdetallestanteria) OF oApp:aMod[20]:oWnd

        REDEFINE get gvfcliente  Var vfcliente  ID 102 of oDDATOS when lsay
        REDEFINE get gvfnombre   Var vfnombre   ID 103 of oDDATOS when lsay
        REDEFINE get gvfarticulo Var vfarticulo ID 104 of oDDATOS when lsay
        REDEFINE get gvfdetalle  Var vfdetalle  ID 105 of oDDATOS when lsay
        REDEFINE get gvfcantidad Var vfcantidad ID 106 of oDDATOS when lsay
        REDEFINE get gvfpaquetes Var vfpaquetes ID 107 of oDDATOS when lsay

        REDEFINE get gvfcolumna Var  vfcolumna  ID 108 of oDDATOS when lsay
        REDEFINE get gvffila     Var  vffila      ID 109 of oDDATOS when lsay
        REDEFINE get gvfprofundo Var vfprofundo ID 110 of oDDATOS when lsay

      REDEFINE FOLDEREX oFld ID 101 OF oDDATOS UPDATE;
             PROMPT &vprompt DIALOGS &vfolders ;
             on change (refrescardatos(vestanteria,oBrw[oFld:nOption],oFld:nOption,vfilas))

       FOR i:=1 to vprofundo
           REDEFINE XBROWSE oBrw[i] ID 101 ;
                  HEADERS V_Header ;
                  SIZES   V_ColSize ;
                  DATASOURCE aData[i] AUTOCOLS CELL LINES NOBORDER FASTEDIT of oFld:aDialogs[i]

            WITH OBJECT oBrw[ i ]
             :bRClicked:= {|| borrararticulo(aData,oBrw,oFld:nOption,vestanteria,vfilas,oFld) }
             :bLDblClick := {|| buscararticulo(aData,oBrw,oFld:nOption,vestanteria) }
             :bKeychar := {|nkey| iif(nkey=13 .and. oBrw[oFld:nOption]:nColSel > 1,buscararticulo(aData,oBrw,oFld:nOption,vestanteria),)}
             :lColChangeNotify := .t.
             :bChange := { |oBrw| refrescardatos(vestanteria,oBrw,oFld:nOption,vfilas)}
             :nFreeze:=1
             :lFullGrid  := .t.

           END

           AEval(oBrw[ i ]:aCols, {|o| o:nDataStrAlign := AL_CENTER })
       next i
      

   REDEFINE BTNBMP ID 500  RESOURCE "ACEPTAR" OF oddatos ;
            ACTION (lSalva:=.t. , oddatos:End());
            MESSAGE "Guardar cambios y salir del catalogo" ;
            WHEN ( Acceso(oApp:aUsuarios,"ESTANTER", nActua ) )

   REDEFINE BTNBMP ID 501  RESOURCE "SALIR" OF oddatos ACTION (lSalva := falso, oddatos:End()) ;
            MESSAGE "Salir de Estanteria"


 ACTIVATE DIALOG oDDATOS CENTER ON INIT (oFld:aDialogs[ 1 ]:setfocus(),.f.)
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 6
Joined: Mon Sep 22, 2008 01:45 PM
Re: Ayuda para ajustar xbrowse en Folderex
Posted: Sat Feb 11, 2017 02:46 PM
Intenta:
Code (fw): Select all Collapse
     ....
     oFld:aDialogs[i]:oClient := oBrw[i]
     oFld:aDialogs[i]:oClient:nClientBevel := x   //Margen respecto a los bordes, es Opcional , x = 0, 1, 2, etc...

next i
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Ayuda para ajustar xbrowse en Folderex
Posted: Sat Feb 11, 2017 04:00 PM
Como defines esto en tu archivo rc?

Code (fw): Select all Collapse
vfolders:='"FOLDERS"'
FOR i:= 2 to vprofundo
    vfolders:=vfolders+","+'"FOLDERS"'
next i
...
...
...
  REDEFINE FOLDEREX oFld ID 101 OF oDDATOS UPDATE;

             PROMPT &vprompt DIALOGS &vfolders ;   <---- aqui es mi pregunta

             on change (refrescardatos(vestanteria,oBrw[oFld:nOption],oFld:nOption,vfilas))


tienes de darle el alto y ancho del folder definido, a cada DIALOG y dentro de este colocar el xbrowse individual.
yo ocupo la clase "PAGE" pero es lo mismo en la forderex.

1.- se define el CONTROL, en tu caso SystabControl32


2.- se define el dialogo de la pestaña 1.
en Workshop

Window Type: Child
Frame style : No border
Dialog style : System modal and Visible





el resultado.




espero que te sirva

Saludos
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: Ayuda para ajustar xbrowse en Folderex
Posted: Mon Feb 13, 2017 11:41 AM
Gracias a todos.
No me lo puedo creer, lo tenia delante de mis narices y no lo había visto, era la definición en el rc de los "FOLDERS" que era muy grande, lo he corregido y todos perfecto, por lo menos a mi me parece.

Gracias Armando y Santa por vuestra ayuda.

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com

Continue the discussion