* Mousedown of drag starting object if nButton = 2 this.Drag() && or this.Drag(1) -following code doesn't execute till drag ends oTarget = sys(1270) && Obj dropped on this.Value = sys(1272, oTarget) with oTarget && Move the receiver - with wait windows we have chance to miss .Left = .Left + 10 .Top = .Top + 10 endwith wait window timeout 2 ; "Code after this.drag won't execute till drag ends in any way" endif *Another object - dragover oSource.Drag(0) && Cancel the drag *Same object's - drapdrop this.value = oSource.Value wait window timeout 2 'No chance for me to execute :(' *Another object - dragover oSource.Drag(2) && End the drag *Same object's - drapdrop this.value = oSource.Value wait window timeout 2 "Haha I'm the ghostbuster :)" *Another object - dragdrop this.value = oSource.Value wait window timeout 2 "I got the value"BTW if you'd use ActiveX controls then above doesn't work - use OLEDrag* instead available in VFP6 and up.