Header con bitmap en TWBorwse
Posted:
Fri Dec 26, 2008 10:44 am
by rolando
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
FWH 2.7 + xHArbour + Pelles-C
Posted:
Fri Dec 26, 2008 3:46 pm
by Francisco Horta
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
Posted:
Fri Dec 26, 2008 4:47 pm
by rolando
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
Posted:
Fri Dec 26, 2008 7:02 pm
by Francisco Horta
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
Posted:
Fri Dec 26, 2008 11:46 pm
by rolando
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.
Rolando
rcerella@gmail.com
Posted:
Sat Dec 27, 2008 12:58 am
by rolando
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