Define class clsText as label Caption = "DragDrop Label" Height = 17 Width = 40 *-- XML Metadata for customizable properties _memberdata = "" nposx = 0 nposy = 0 Name = "clsText" Procedure Screen_DragDrop LParameters oSource, nXCoord, nYCoord oSource.Left = oSource.Left + (nXCoord - .nPosX) oSource.Top = oSource.Top + (nYCoord - .nPosY) EndProc Procedure DragDrop LParameters oSource, nXCoord, nYCoord This.Parent.DragDrop( oSource, nXCoord, nYCoord ) EndProc Procedure Destroy UnBindEvents( _Screen, 'DragDrop', This, 'Screen_DragDrop' ) EndProc Procedure MouseMove LParameters nButton, nShift, nXCoord, nYCoord If (nButton == 1) With This .nPosX = nXCoord .nPosY = nYCoord .Drag EndWith endif ENDPROC Procedure Init BindEvent( _Screen, 'DragDrop', This, 'Screen_DragDrop' ) EndProc EndDefineHTH