PUBLIC oHandler, cScreen oHandler=NEWOBJECT("myhandler") _SCREEN.AddObject("MyScreen1","MyScreen") BINDEVENT(_SCREEN,"Resize",oHandler,"myresize") DEFINE CLASS MyScreen AS Custom cScreen = _SCREEN PROCEDURE Init this.cScreen = _SCREEN this.cScreen.AddObject("Image1","Image") WITH this.cScreen.Image1 *!* This commented out will use default size of picture *!* .Height = 400 *!* .Width = 800 .Stretch = 2 .Picture = "MyImage.jpg" .Visible = .t. .Left = INT((this.cScreen.Width - .Width)/2) .Top = INT((this.cScreen.Height - .Height)/2) ENDWITH ENDPROC ENDDEFINE DEFINE CLASS myhandler AS Session cScreen = _SCREEN PROCEDURE myresize this.cScreen = _SCREEN WITH this.cScreen.Image1 .Left = INT((this.cScreen.Width - .Width)/2) .Top = INT((this.cScreen.Height - .Height)/2) ENDWITH ENDPROC ENDDEFINE