COleDataSource::DoDragDrop

调用 DoDragDrop 成员函数执行此数据源的拖放操作,通常在 CWnd::OnLButtonDown 处理程序。

DROPEFFECT DoDragDrop(
   DWORD dwEffects = DROPEFFECT_COPY|DROPEFFECT_MOVE|DROPEFFECT_LINK,
   LPCRECT lpRectStartDrag = NULL,
   COleDropSource* pDropSource = NULL 
);

参数

  • dwEffects
    拖放此数据源允许的操作。可以是一个或多个以下各项:

    • DROPEFFECT_COPY 中复制操作来执行。

    • DROPEFFECT_MOVE 的移动操作来执行。

    • 从放置的数据的DROPEFFECT_LINK 将链接到原始数据可以建立的。

    • DROPEFFECT_SCROLL 指示拖动滚动操作会发生此错误。

  • lpRectStartDrag
    用于定义矩形的指针在拖动过程实际启动的位置。有关更多信息,请参见下面的“备注”部分。

  • pDropSource
    指向放置源。如果 COleDropSource 的默认实现将使用 NULL

返回值

拖放操作生成的放置效果;否则 DROPEFFECT_NONE,如果操作不启动,因为用户在将所提供的矩形之前已释放鼠标按钮。

备注

拖放操作不立即开始。它等待,直到鼠标光标离开矩形指定由 lpRectStartDrag 或,直到毫秒指定数目的已通过。如果 lpRectStartDrag 是 NULL,矩形的大小是一个像素。

延时通过注册表项设置指定。通过调用 CWinApp::WriteProfileStringCWinApp::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 /98拖动延时在WIN.INI中缓存的版本存储。

有关拖动延迟信息方式的更多信息在注册表或.INI文件中存储,请参见。Windows SDK的 WriteProfileString

有关更多信息,请参见文章 拖放:实现放置源

要求

Header: afxole.h

请参见

参考

COleDataSource选件类

层次结构图

COleDropSource::OnBeginDrag

COleDropSource选件类