lcPath = getdir() lnFiles = adir(aImageList, lcPath+'*.*') Create cursor myImageList (FileName m) For ix=1 to alen(aImageList,1) Insert into myImageList values (lcPath+aImageList[ix,1]) Endfor Go top oForm = createobject('myForm') With oForm .Lockscreen = .t. .Height = 400 .Width = 600 .Addobject('myGrid','Grid') .Addobject('clbutton','closebutton') .clbutton.visible = .t. With .myGrid .Left = 0 .Top = 20 .Height = 370 .Width = 590 .Columncount = -1 .Recordsource = 'myImageList' .Columncount = 2 .RowHeight = .RowHeight * 7 With .Columns(2) .Addobject('myContainer','Container') .CurrentControl = 'myContainer' .Sparse = .f. With .myContainer .Addobject('myImage','Image') .myImage.Visible = .t. Endwith .Dynamicbackcolor = 'thisform.fake()' Endwith .Visible = .t. Endwith .Lockscreen = .f. Endwith oForm.Show Read events Define class myForm as Form Procedure fake Thisform.myGrid.Columns(2).myContainer.myImage.Picture = myImageList.FileName Return thisform.myGrid.Backcolor Endproc Enddefine Define class CloseButton as commandbutton Height = 15 Caption ='close' Procedure click Clear events Thisform.release Endproc EnddefineCetin