>>hello
>>
>>how to change a command button forecolor in a grid based on a value in a table that populate the grid?
>>
>>Thanks
>
>
>o=createobject("frmColorButton")
>o.show
>o.addproperty("me",m.o)
>
>define class frmColorButton as form
>
> add object grd as grid ;
> with columncount=1
>
> procedure init
> create cursor zz (nColor i)
> insert into zz values (0xffffff)
> insert into zz values (0xffff7f)
> insert into zz values (0xff7fff)
> insert into zz values (0x7fffff)
> insert into zz values (0x7f7fff)
> insert into zz values (0xff7f7f)
> insert into zz values (0x7fff7f)
> locate
> with this.grd
> .recordsource="zz"
> with .column1
> .sparse=.f.
> .removeobject(.controls[2].name)
> .addobject("cmdColor", "cmdColor")
> .cmdColor.visible=.t.
> .dynamicfontshadow=[this.column1.cmdColor.refresh()]
> .currentcontrol="cmdColor"
> endwith
> endwith
>
> endproc
>
> procedure destroy
> clear events
> endproc
>
>enddefine
>
>
>define class cmdColor as commandbutton
> themes = .F.
> fontbold = .T.
> procedure refresh
>
> this.backcolor=nColor
> this.Forecolor=BITXOR(nColor,0xF0F0F0)
> this.Caption = STR(nColor)
> endproc
>
>enddefine
>
Nice trick!