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 の実装では、データ オブジェクトをターゲットに組み込む必要があります。 pDataObj で使用できる IDataObject で使用できる形式と修飾子キーの現在の状態を使用して、リンクや埋め込みなど、データの組み込み方法を決定します。

データを組み込むだけでなく、IDropTarget::D ragLeave メソッドと同様にクリーンする必要もあります。

  • 現在表示されているターゲット フィードバックをすべて削除します。
  • データ オブジェクトへの参照を解放します。
また、DoDragDrop を使用してこの操作の効果をソース アプリケーションに渡すこともできるため、ドラッグ アンド ドロップ操作の完了後にソース アプリケーションをクリーンできます。
  • 表示されているソース フィードバックをすべて削除します。
  • 操作が移動だった場合にデータを削除するなど、データに必要な変更を加えます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー oleidl.h

関連項目

Dodragdrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

RevokeDragDrop