Page 1 of 1

Urgente, por favor!!

Posted: Wed Jan 02, 2008 8:07 pm
by Loren
Compañeros:

Estoy haciendo un modulo Touch y necesito cambiar en tiempo de ejecución el BRUSH de un SBUTTON. Tiene incrustado un BMP pero necesito que cambie según las necesidades.

Mi prg:

Define brush oBrushF[1] file familia->nombre
Define dialog...
REDEFINE SBUTTON obtnF[ 1] ID 4005 OF oDialog brush obrushF[1]
....
Activate dialog...

¿ Como cambio de Brush ? Probé definiendolo de nuevo y haciendo un Refresh, pero no funciona!!

Mil gracias por anticipado.
LORENZO.

Posted: Wed Jan 02, 2008 8:18 pm
by Antonio Linares
Lorenzo,

REDEFINE SBUTTON obtnF[ 1] ID 4005 OF oDialog brush obrushF[1]
....
Activate dialog... ON INIT oBtnF[ 1 ]:SetBrush( oOtroBrush )

Posted: Wed Jan 02, 2008 10:54 pm
by Loren
Antonio, gracias por tu rapidez.

Hice lo que me comentaste pero no surte efecto.
Mi prg es:

....
Define brush oBrushF[1] file familia->nombre
Define dialog oDialog resource 'Ventas'
REDEFINE SBUTTON obtnF[1] ID 4005 OF oDialog brush obrushF[1]
REDEFINE SBUTTON oscrollF ID 4006 OF oDialog action scrollF() &&para mostrar mas button en la pantalla
Activate dialog oDialog center
..
..
funct scrollF()
define brush oBrushF[1] file 'verde.bmp' && aquí defino el nuevo Brush
oBtnF[1]:SetBrush( oBrushF[1] )
oBtnF[1]:SetBrush( TBrush():New('verde.bmp') ) &&tambien lo he probado así pero tampoco funciona.
oBtnF[1]:refresh()
return

¿ Será algun problema de la clase TSButton ? Mil gracias, Antonio.
LORENZO

Posted: Thu Jan 03, 2008 12:20 am
by Antonio Linares
Lorenzo,

Habría que revisar el código de la clase TSButton, y ver si admite el cambio de brush.

Revisa los métodos EraseBkGnd() y Paint().