PUBLIC oform1 oform1=NEWOBJECT("form1") oform1.Show DEFINE CLASS form1 AS form DoCreate = .T. Caption = "Form1" Name = "Form1" ADD OBJECT grid AS grid WITH ; Height = 200, ; Left = 12, ; Top = 17, ; Width = 320, ; AllowCellSelection = .F., ; Name = "Grid" PROCEDURE Load CREATE CURSOR test (f1 I AUTOINC ,F2 C(30) DEFAULT "RECORD"+STR(RECCOUNT())) FOR K=1 TO 100 APPEND BLANK NEXT ENDPROC PROCEDURE grid.Init THIS.AddProperty("Selected[1]") DIMENSION this.Selected[RECCOUNT(m.this.RecordSource)] this.SetAll("DynamicBackColor","IIF(this.Selected[RECNO()],0x80FF,0xFFFFFF)") LOCATE ENDPROC PROCEDURE grid.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord this.AddProperty("KeyShift",m.nShift) ENDPROC PROCEDURE grid.Click IF m.this.KeyShift = 2 this.Selected[RECNO()]=not this.Selected[RECNO()] IF this.Selected[RECNO()] this.HighlightBackColor = 0x80FF ELSE grid::ResetToDefault("HighlightBackColor") ENDIF ENDIF ENDPROC PROCEDURE grid.AfterRowColChange LPARAMETERS nColIndex grid::ResetToDefault("HighlightBackColor") ENDPROC ENDDEFINE