Ayuda con XBROWSE

Ayuda con XBROWSE

Postby jvtecheto » Thu Sep 12, 2019 3:25 pm

Hola :

Practicamente he migrado mi vieja aplicacion a la nueva version de Fivewin con exito pero me gustaria cambiar los
antiguos LISTBOX por XBROWSE.

Tengo este codigo que funciona perfecto.
Code: Select all  Expand view  RUN

 @ 2, 0 LISTBOX Empw ;
   FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ], Emp->codigo, Emp->Nombre, Emp->Ano ;
   Alias cAlias HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
   ON DBLCLICK EditEmpres( Empw, .F. ) WHEN ( IF( Select( cAlias ) > 0, Emp->( LastRec() ) > 0, .F. ) ) UPDATE OF oWndEmp
 


Como seria utilizando XBROWSE

Gracias por vuestra ayuda.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 602
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Ayuda con XBROWSE

Postby FranciscoA » Sun Sep 15, 2019 5:46 pm

Por si aun no lo has hecho, aqui tienes un ejemplo.
Code: Select all  Expand view  RUN
Function Lbx2Brw()
local Empw, cAlias, Emp, oWndEmp

if !File(".\Emp.dbf")
dbCreate(".\Emp",{ { "Cerrada", "L",  1,0 } ,;
                   { "Activo" , "L",  1,0 } ,;
                   { "Codigo" , "C",  2,0 } ,;
                   { "nombre" , "C", 35,0 } ,;
                   { "Ano"    , "N",  4,0 } } )
DBUsearea(.t.,,"Emp","Emp",.t.)
dbappend()
   field->cerrada := .f. ; field->activo := .t. ; field->codigo := "01"
   field->nombre := "EMPRESA NUMERO UNO" ; field->ano := 2019
dbappend()
   field->cerrada := .f. ; field->activo := .t. ; field->codigo := "02"
   field->nombre := "EMPRESA NUMERO DOS" ; field->ano := 2019
dbappend()
   field->cerrada := .T. ; field->activo := .F. ; field->codigo := "03"
   field->nombre := "EMPRESA NUMERO TRES" ; field->ano := 2018
Emp->(dbcloseArea())
endif

DBUsearea(.t.,,"Emp","Emp",.t.)
cAlias:=Alias()

   DEFINE DIALOG oWndEmp SIZE 600,400 PIXEL TITLE "FiveWin Version 1204"

   @ 2, 0 XBROWSE Empw OF oWndEmp PIXEL ;
          SIZE 280,140 ;
          DATASOURCE cAlias ;
          COLUMNS "Cerrada", "Activo", "Codigo", "Nombre", "Ano" ;
          HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" ;
          FOOTERS CELL LINES ;
          ON DBLCLICK EditEmpres( Empw, .F. ) ;
          WHEN ( IF( Select( cAlias ) > 0, Emp->( LastRec() ) > 0, .F. ) ) ;
          VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
          UPDATE

   WITH OBJECT Empw
      :nColDividerStyle := LINESTYLE_LIGHTGRAY
      :nRowDividerStyle := LINESTYLE_LIGHTGRAY

      :aCols[ 1 ]:addResource("aceptar")
      :aCols[ 1 ]:addResource("cancelar")
      :aCols[ 1 ]:bBmpData := {|| IF( Emp->Cerrada, 2,1 ) }

      :aCols[ 2 ]:addResource("checked")
      :aCols[ 2 ]:addResource("unchecked")
      :aCols[ 2 ]:bBmpData := {|| IF( Emp->Activo , 1,2 ) }
   END

   Empw:CreateFromCode()

   ACTIVATE DIALOG oWndEmp CENTERED   ON INIT Empw:Move(40,20)

   (cAlias)->(DbCloseArea())
   Ferase(".\Emp.dbf")

RETURN NIL

Function EditEmpres( oBrw, lLogico )
Return MsgInfo("EditEmpres()"+CRLF+;
               oBrw:codigo:Value +"   "+ oBrw:nombre:value )

Function SaveIniCol( oBrw, cAlias )
Return .t.
 


Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda con XBROWSE

Postby jvtecheto » Wed Sep 18, 2019 4:21 pm

Hola FranciscoA.

En primer lugar muchas gracias por tu interes.

Me funciona bien pero no consigo que me muestre los bitmaps como antiguamente con este codigo.

Code: Select all  Expand view  RUN

FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ]
 


Yo tengo en el arreglo aDbfBmps cargados los bitmaps que tengo que usar y segun sea aDbfBmps[3] ó aDbfBmps[4] me muestra uno u otro.

Pruebo con esto y no lo muestra
Code: Select all  Expand view  RUN

:aCols[ 1 ]:bBmpData := {|| aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ] }
 

mira la pantalla.

Image

Tambien me gustaria que la linea apareciera toda resaltada y no solo un campo.

Saludos amigo.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 602
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Ayuda con XBROWSE

Postby FranciscoA » Wed Sep 18, 2019 9:00 pm

jvtecheto wrote:Yo tengo en el arreglo aDbfBmps cargados los bitmaps que tengo que usar y segun sea aDbfBmps[3] ó aDbfBmps[4] me muestra uno u otro.
Pruebo con esto y no lo muestra
Code: Select all  Expand view  RUN

:aCols[ 1 ]:bBmpData := {|| aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ] }
 

Jose.


Jose:
La unica forma que conozco es agregando los recursos en cada col en que los vas a utilizar.
Prueba lo siguiente (siempre agregando los recursos a las cols):

Code: Select all  Expand view  RUN
local aDbfBmps:={"aceptar","cancelar","checked","unchecked"}
...
...
      :aCols[1]:AddResource( aDbfBmps )
      :aCols[1]:bBmpData := {|| IF( Emp->Cerrada, 2, 1 ) }

      :aCols[2]:AddResource( aDbfBmps )
      :aCols[2]:bBmpData := {|| IF( Emp->Activo, 3, 4 ) }
 

Si existe forma similar o igual a la que expones, traslademos la consulta a los maestros de FiveWin.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda con XBROWSE

Postby FranciscoA » Wed Sep 18, 2019 9:03 pm

jvtecheto wrote:Tambien me gustaria que la linea apareciera toda resaltada y no solo un campo.
Jose.


Si te refieres a sobre-iluminar la fila prueba con esto
Code: Select all  Expand view  RUN
  :nMarqueeStyle    := MARQSTYLE_HIGHLROW   //ilumina toda la linea
 

Si te refieres a resaltar los datos (fuente), intenta asi:
Code: Select all  Expand view  RUN
  AEval(oBrw:aCols,{|o| o:DataFont := if(Emp->Activo, oFont2, oFont1 ) } )
 

Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda con XBROWSE

Postby cnavarro » Wed Sep 18, 2019 9:09 pm

Intenta definiendo el tipo de columna
Code: Select all  Expand view  RUN

:aCols[ 1 ]:cDataType := 'F'
 
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
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ayuda con XBROWSE

Postby jvtecheto » Thu Sep 19, 2019 5:46 pm

Hola:

Gracias a los 2, por ahora me funciona me quedan unos flecos que resolver pero prefiero estudiar un poco mas la clase.
Creia que el cambio era mas automatica pero al ser una clase con muchas mas opciones es mas complicado.

dentro de unos dias posteo de nuevo.

Muchisimas gracias.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 602
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 102 guests