Sam,
A quick and dirty way of doing drag and drop is to set the control's DragMode property to 1. That allows the user to drag the control (the pageframe, in this case) to anywhere within the parent container. Dragging doesn't actually move the control; it simply establishes a destination for it. You use the DragDrop event to actually perform the action implied by the drag-and-drop. For example, if you want the drag-and-drop to move the control, you write code in DragDrop to reposition the control to the relevant location (typically by calling its Move method).
However, the preferred way to do drag and drop in VFP is with the OLE methods. There's a whole bunch of methods and properties whose names begin with OLE, such as OLEDrag, OLEDragMode, OLEStartDrag, and so on. These are more complicated than the simple DragMode property, but they give you much more control. Plus they have the advantage of supporting drag-and-drop across applications.
I won't try and give you more details here. I suggest you start by reading the Help topic called "OLE Drag and Drop", and also perhaps look at the sample code in this form: ...\Samples\Solution\Tahoe\Querydd.scx. Then, when you have some detailed questions, come back.
Mike
__________________________________
Mike Lewis (Edinburgh, Scotland)
Visual FoxPro articles, tips and downloads