Call the DoDragDrop member function to perform a drag-and-drop operation.

   LPCRECT lpItemRect, 
   CPoint ptOffset, 
   BOOL bIncludeLink = FALSE, 
   LPCRECT lpRectStartDrag = NULL  


The item's rectangle on screen in client coordinates (pixels).


The offset from lpItemRect where the mouse position was at the time of the drag.


Set this to TRUE if the link data should be copied to the Clipboard. Set it to FALSE if your server application does not support links.


Determines the effects that the drag source will allow in the drag operation.


Pointer to the rectangle that defines where the drag actually starts. For more information, see the following Remarks section.

A DROPEFFECT value. If it is DROPEFFECT_MOVE, the original data should be removed.

The drag-and-drop operation does not start immediately. It waits until the mouse cursor leaves the rectangle specified by lpRectStartDrag or until a specified number of milliseconds have passed. If lpRectStartDrag is NULL, the size of the rectangle is one pixel.

The delay time is specified by a registry key setting. You can change the delay time by calling CWinApp::WriteProfileString or CWinApp::WriteProfileInt. If you do not specify the delay time, a default value of 200 milliseconds is used. Drag delay time is stored as follows:

  • Windows NT   Drag delay time is stored in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • Windows 3.x   Drag delay time is stored in the WIN.INI file, under the [Windows} section.

  • Windows 95/98   Drag delay time is stored in a cached version of WIN.INI.

For more information about how drag delay information is stored in either the registry or the .INI file, see WriteProfileString in the Windows SDK.

Header: afxole.h

Community Additions