Share via


IDropTarget::D rop 方法 (oleidl.h)

將來源資料併入目標視窗中、移除目標意見反應,以及釋放資料物件。

語法

HRESULT Drop(
  [in]      IDataObject *pDataObj,
  [in]      DWORD       grfKeyState,
  [in]      POINTL      pt,
  [in, out] DWORD       *pdwEffect
);

參數

[in] pDataObj

在拖放作業中傳輸的資料物件上 ,IDataObject 介面的指標。

[in] grfKeyState

鍵盤上鍵盤修飾詞按鍵的目前狀態。 可能的值為任何旗標MK_CONTROL、MK_SHIFT、MK_ALT、MK_BUTTON、MK_LBUTTON、MK_MBUTTON和MK_RBUTTON的組合。

[in] pt

POINTL結構,其中包含螢幕座標中的目前游標座標。

[in, out] pdwEffect

在輸入時,指向DoDragDrop函式之 pdwEffect參數值的指標。 傳回時,必須包含其中一個 DROPEFFECT 旗標,這表示卸載作業的結果。

傳回值

此方法會在成功時傳回S_OK。 其他可能的值包括下列專案。

傳回碼 描述
E_UNEXPECTED
已發生未預期的錯誤。
E_INVALIDARG
pdwEffect參數無效。
E_OUTOFMEMORY
此作業的記憶體不足。

備註

您不能直接呼叫此方法, 當使用者完成拖放作業時 ,DoDragDrop 函式會呼叫此方法。

在實作 Drop 中,您必須將資料物件併入目標。 使用 IDataObject中可用的格式,可透過 pDataObj取得,以及修飾詞索引鍵的目前狀態,以決定要如何納入資料,例如連結或內嵌。

除了合併資料之外,您也必須在 IDropTarget::D ragLeave 方法中清除:

  • 移除目前顯示的任何目標意見反應。
  • 釋放資料物件的任何參考。
您也會透過 DoDragDrop將此作業的效果傳遞回來源應用程式,讓來源應用程式可以在拖放作業完成後清除:
  • 移除正在顯示的任何來源意見反應。
  • 對資料進行任何必要的變更,例如,如果作業已移動,請移除資料。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

DoDragDrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

RevokeDragDrop