>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!