COleClientItem::DoDragDrop

DROPEFFECT DoDragDrop(LPCRECT lpItemRect,
                      CPoint ptOffset,
                      BOOL bIncludeLink = FALSE,
                      DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
                      LPCRECT lpRectStartDrag = NULL
                     );

返回值:
一个DROPEFFECT值。如果为DROPEFFECT_MOVE,则原始数据将被删除。

参数:
lpItemRect在客户区坐标内表示的屏幕矩形。
ptOffset在拖拉鼠标时,鼠标位置相对lpItemRect的偏移量。
bIncludeLink如果要将链接数据复制套剪贴板中,则设置该值为TRUE。如果服务器应用不支持链接,则设置该值为FALSE。
dwEffects决定拖拉操作时允许使用的拖拉资源的效果。
lpRectStartDrag拖拉操作实际起始位置的矩形指针。要了解更多的信息,请参阅下面的说明。

说明:
调用DoDragDrop成员函数来实现拖放操作。拖放操作并不立即开始,而要等到鼠标从lpRectStartDrag指定的位置移开或者预先说明的几个毫秒的时间段过去。如果 lpRectStartDrag为NULL,那么矩形的尺寸为一个像素。
延时由WIN.INI 的[Windows]一节中DragDelay值说明。可以调用CWinApp:: WriteProfileString或CWinApp::WriteProfileInt修改延时。如果没有指定延时,则使用缺省值200毫秒。拖放的延时如下存储:
·Windows NT的拖放延时存放在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay中。
·Windows 3.X的拖放延时存放在WIN.INI文件中,[Windows]节下。
·Windows 95的拖放延时存放在WIN.INI的缓存版本中。
要了解更多有关延时如何存放在入口或.INI文件方面的信息,可参阅联机文档“平台SDK”中的::WriteProfileString。

请参阅:
COleDataSource::DoDragDrop, COleClientItem::CopyToClipboard