Header con bitmap en TWBorwse

Header con bitmap en TWBorwse

Postby rolando » Fri Dec 26, 2008 10:44 am

Buen día,

Tengo la necesidad de colocar un bitmap, que cambie en tiempo de ejecución, en el header de un listbox con la TWBrowse 1.7 de HC.

Leí un tópico en este foro (de RF) en el que explica como hacerlo pero no pude lograrlo.

Luego ví también la clase 17a de Rossine y no pude compilar los ejemplos.

¿Hay algún modo de hacerlo?

Gracias.

Rolando :D

FWH 2.7 + xHArbour + Pelles-C
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby Francisco Horta » Fri Dec 26, 2008 3:46 pm

Rolando prueba asi:
aBmp := LoadBitmap(GetResources(),"PRINTER")

@ 0,0 LISTBOX oBrw ;
FIELDS ;
HEADER "", "FECHA", aBmp, "Folio", "", "Departamento", "Recibio" ;
SIZES 22, 80, 32, 80, 22, 300, 300

y para cambiarlo prueba haciendo:

aBmp := LoadBitmap(GetResources(),"PRINTER2")
oBrw:aHeaders := {}
oBrw:aHeaders := { "", "FECHA", aBmp[5], "Folio", "", "Departamento", "Recibio" }
oBrw:Refresh()

salu2
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby rolando » Fri Dec 26, 2008 4:47 pm

Francisco,

Gracias por responder.

Lo estuve intentando como tu indicas pero no me funciona. Copio parte de mi código:

Code: Select all  Expand view
    hBmp1 := LoadBitmap(GETRESOURCES(),"PRINTER")

    define dialog oDlg resource "LISTARREGISTROS" of oWnd

    oDlg:bGotFocus:={||dbSelectArea(cTrabajos)}

    redefine listbox oLbx ;                //
                  FIELDS " " , str((cTrabajos)->TALON),(cTrabajos)->NOMBRE,(cTrabajos)->DIRECCION,(cTrabajos)->LOCALIDAD ,(cTrabajos)->BARRIO , ;
                      (cTrabajos)->CODPOSTAL,(cTrabajos)->TELEFONO1,(cTrabajos)->TELEFONO2,(cTrabajos)->CELULAR , ;
                      (cTrabajos)->EMAIL,(cTrabajos)->MARCA,(cTrabajos)->MODELO,(cTrabajos)->SERIE,(cTrabajos)->UBICADO ;   //  (cTrabajos)->RECNO()
                  ALIAS(cTrabajos);
                  id 4001 ;                                                       //
                  of oDlg

    oLbx:aHeaders := { hBmp1,"TALON" ,"NOMBRE" , "DIRECCION" , "LOCALIDAD" , "BARRIO" , ;
                  "CODIGO"+CHR(13)+"POSTAL" , "TELEFONO 1" , "TELEFONO 2" , "CELULAR" , "EMAIL" , "MARCA" , "MODELO" , "SERIE" , "UBICACIÓN"}

       oLbx:bGotFocus:={||dbSelectArea(cTrabajos)}   
       oLbx:oFont:=oFnt
       oLbx:aHJustify := { 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 }
       oLbx:oCursor:=oCur1
       oLbx:nFreeze:=2               
       oLbx:nClrPane:= nRGB(230,230,250)
       oLbx:nHeaderHeight:= 30               
       oLbx:bLdblclick:= {||EditoTrabajos(str(recno())) , oLbx:refresh()}

    activate dialog oDlg ..... etc


Lo hago desde recursos. ¿Será que la TWBrowse que tengo está mal?.

Serías tan amable de enviarme la clase TWBrowse de HC a mi correo?.

Gracias.

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby Francisco Horta » Fri Dec 26, 2008 7:02 pm

Que raro que no te funcione, a mi me va bien, carga otro bitmap y mira prueba a poner en tu programa en esta parte asi:

hBmp1 := LoadBitmap(GETRESOURCES(),"PRINTER")
hBmp2 := LoadBitmap(GETRESOURCES(),"NUEVOBITMAP")
oLbx:bLdblclick:= {||EditoTrabajos(str(recno())) , cambiaimg(@oLbx,hBmp2),oLbx:refresh()}

func cambiaimg(oLbx,hBmp2)
oLbx:aHeaders:={}
oLbx:aHeaders := { hBmp2,"TALON" ,"NOMBRE" , "DIRECCION" , "LOCALIDAD" , "BARRIO" , ;
"CODIGO"+CHR(13)+"POSTAL" , "TELEFONO 1" , "TELEFONO 2" , "CELULAR" , "EMAIL" , "MARCA" , "MODELO" , "SERIE" , "UBICACIÓN"}
return nil

salu2
paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby rolando » Fri Dec 26, 2008 11:46 pm

Francisco,

¿Usas la TWbrowse 1.7 de HC?.

Me sigue dando error en ejecución:

Application
===========
Path and name: D:\VERCE\BIN\xHsounds.Exe (32 bits)
Size: 653,312 bytes
Time from start: 0 hours 0 mins 3 secs
Error occurred at: 26/12/2008, 21:43:06
Error description: Error BASE/1111 Error de argumento: LEN
Args:
[ 1] = N 1610947349

Stack Calls
===========
Called from: => LEN(0)
Called from: WBROWSE.PRG => TWBROWSE:DEFAULT(1846)


No podrías enviarme el TWBrowse que usas para poder probar con él. Gracias. :D

Rolando
rcerella@gmail.com
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA

Postby rolando » Sat Dec 27, 2008 12:58 am

Francisco,

Ya lo solucioné. Creo que el problema se daba porque los tres dialogs que se abren en esta parte del programa, son NOWAIT.

Lo que hice fué llamar la función (como la que enviaste) en el ON INIT y así sí tomó el bitmap. luego lo cambio dentro de la función que llamo cuando se pulsa sobre ese header.

Gracias por contestar.

Rolando :D
User avatar
rolando
 
Posts: 593
Joined: Sat May 12, 2007 11:47 am
Location: San Nicolás - BA - ARGENTINA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: gmart1 and 49 guests