o=createobject("frmColorButton") o.show o.addproperty("me",m.o) #DEFINE HIGHLIGHTCOLOR 255 define class frmColorButton as form add object grd as GRD ; with columncount=1 procedure init create cursor zz (ckk L , nColor i) insert into zz values (.F.,0xffffff) insert into zz values (.F.,0xffff7f) insert into zz values (.F.,0xff7fff) insert into zz values (.F.,0x7fffff) insert into zz values (.F.,0x7f7fff) insert into zz values (.F.,0xff7f7f) insert into zz values (.F.,0x7fff7f) locate with this.grd .recordsource="zz" .columncount = 1 with .column1 .sparse=.F. .bound = .F. .width = 100 .removeobject(.controls[2].name) .dynamicbackColor=[IIF(m.this.recno=RECNO(),HIGHLIGHTCOLOR,nColor)] .addobject("cxColor", "checkbox") .cxColor.BackStyle = 0 .cxColor.ControlSource = "ckk" .cxColor.visible=.t. endwith endwith endproc procedure destroy clear events endproc enddefine DEFINE CLASS grd as Grid recno = 0 PROCEDURE AfterrowcolChange(c) this.recno = RECNO() this.Refresh ENDDEFINE