public oToolbarTest oToolbarTest = createobject("clsToolForm") oToolbarTest.Show() DEFINE CLASS clsToolForm AS Form BorderStyle = 0 ControlBox = .F. Height = 100 Width = 200 Titlebar = 0 ADD OBJECT cntMain AS Container WITH Height = 100, Width = 200 FUNCTION Init THIS.AddObject("oMover","clsMover",THIS) THIS.oMover.Move(10,6) THIS.oMover.Visible = .T. ENDFUNC ENDDEFINE define class clsMover as Label Caption = "Click and drag me!" BackStyle = 0 AutoSize = .T. * holds reference to object being moved oLinkedObject = .Null. * remember mouse position at start of drag OriginalXpos = 0 OriginalYpos = 0 * remember original object being moved's position OriginalLeft = 0 OriginalTop = 0 FUNCTION Init(loLinked) THIS.oLinkedObject = loLinked ENDFUNC * clear linked object function Destroy() This.oLinkedObject = .Null. endfunc function MouseDown lparameters nButton, nShift, nXCoord, nYCoord if nButton = 1 with This .OriginalXPos = nXCoord .OriginalYPos = nYCoord .OriginalLeft = This.oLinkedObject.Left .OriginalTop = This.oLinkedObject.Top endwith endif endfunc function MouseMove lparameters nButton, nShift, nXCoord, nYCoord if nButton = 1 WITH THIS .OriginalLeft = .OriginalLeft + nXCoord - .OriginalXPos .OriginalTop = .OriginalTop + nYCoord - .OriginalYPos .oLinkedObject.Move(.OriginalLeft,.OriginalTop) ENDWITH endif endfunc enddefineRegards