PUBLIC oform1 Create Table ARMaster (AcctNo C(6),Id1 C(30)) For ln=1 To 100 Insert Into ARMaster (AcctNo,Id1) Values (Padl(Reccount(),6,"0"),"Test "+Transform(Recno())) EndFor oform1=NEWOBJECT("form1") oform1.Show RETURN DEFINE CLASS form1 AS form Top = -1 Left = -1 DoCreate = .T. Caption = "Form1" Visible = .T. Name = "Form1" ADD OBJECT grdstd1 AS grid WITH ; ColumnCount = 2, ; DeleteMark = .F., ; Left = 18, ; Panel = 1, ; RecordSource = "ARMaster", ; ScrollBars = 2, ; Top = 46, ; Name = "Grdstd1", ; Column1.Width = 16, ; Column1.Sparse = .F., ; Column1.DynamicBackColor = "ThisForm.SetListPicture()", ; Column1.Name = "Column1", ; Column2.ControlSource = "ThisForm.SetListText()", ; Column2.Width = 275, ; Column2.Name = "Column2" Procedure grdStd1.Init This.column1.RemoveObject("text1") This.Column1.ADDOBJECT("imgstd1","imgstd") With This.Column1.imgStd1 BackStyle = 1 Height = 16 Visible = .T. Width = 15 EndWith PROCEDURE setlisttext Return ARMaster.AcctNo+" "+ARMaster.Id1 ENDPROC PROCEDURE setlistpicture * ThisForm.grdstd1.Column1.ImgStd1.Picture=... Return This.grdStd1.Column1.DynamicBackColor ENDPROC EndDefine Define Class imgStd as Image Procedure Click =MessageBox(This.Name) EndProc EndDefine>Years ago, we had similar functionality in grids...
>>DEFINE CLASS form1 AS form >> Top = -1 >> Left = -1 >> DoCreate = .T. >> Caption = "Form1" >> Visible = .T. >> Name = "Form1" >> ADD OBJECT grdstd1 AS grid WITH ; >> ColumnCount = 2, ; >> DeleteMark = .F., ; >> Left = 18, ; >> Panel = 1, ; >> RecordSource = "ARMaster", ; >> ScrollBars = 2, ; >> Top = 46, ; >> Name = "Grdstd1", ; >> Column1.Width = 16, ; >> Column1.Sparse = .F., ; >> Column1.DynamicBackColor = "ThisForm.SetListPicture()", ; >> Column1.Name = "Column1", ; >> Column2.ControlSource = "ThisForm.SetListText()", ; >> Column2.Width = 275, ; >> Column2.Name = "Column2" >> ADD OBJECT form1.grdstd1.column1.header1 AS header WITH ; >> Caption = "Header1", ; >> Name = "Header1" >> ADD OBJECT form1.grdstd1.column1.imgstd1 AS imgstd WITH ; >> Picture = "..\..\bmp\grddone.bmp", ; >> BackStyle = 1, ; >> Height = 16, ; >> Visible = .T., ; >> Width = 15, ; >> Name = "Imgstd1" >> ADD OBJECT form1.grdstd1.column2.header1 AS header WITH ; >> Caption = "Header1", ; >> Name = "Header1" >> ADD OBJECT form1.grdstd1.column2.text1 AS textbox WITH ; >> BorderStyle = 0, ; >> Margin = 0, ; >> ForeColor = RGB(0,0,0), ; >> BackColor = RGB(192,192,192), ; >> Name = "Text1" >> ADD OBJECT imgstd1 AS imgstd WITH ; >> Picture = "..\..\bmp\grddone.bmp", ; >> Height = 16, ; >> Left = 84, ; >> Top = 12, ; >> Width = 15, ; >> Name = "Imgstd1" >> ADD OBJECT imgstd2 AS imgstd WITH ; >> Picture = "..\..\bmp\grdnormal.bmp", ; >> Height = 11, ; >> Left = 216, ; >> Top = 12, ; >> Width = 15, ; >> Name = "Imgstd2" >> PROCEDURE setlisttext >> Return ARMaster.AcctNo+" "+ARMaster.Id1 >> ENDPROC >> PROCEDURE setlistpicture >> ThisForm.grdstd1.Column1.ImgStd1.Picture=Iif(Mod(Recno("ARMaster"),2)=0,; >> "c:\business\dciphercomputing\bmp\grddone.bmp","c:\business\dciphercomputing\bmp\grdNormal.bmp") >> Return This.grdStd1.Column1.DynamicBackColor >> ENDPROC >> PROCEDURE Load >> Use ARMaster Order Tag Id1 >> ENDPROC >> PROCEDURE imgstd1.Click >> =MessageBox(This.Name+" Clicked") >> ENDPROC >>ENDDEFINE >>* >>*-- EndDefine: form1 >>************************************************** >>