IDragSourceHelper インターフェイス (shobjidl_core.h)

シェルによって公開され、アプリケーションがシェルのドラッグ アンド ドロップ操作中に表示されるイメージを指定できるようにします。

継承

IDragSourceHelper インターフェイスは、IUnknown インターフェイスから継承されます。 IDragSourceHelper には、次の種類のメンバーもあります。

メソッド

IDragSourceHelper インターフェイスには、これらのメソッドがあります。

 
IDragSourceHelper::InitializeFromBitmap

ウィンドウレス コントロールのドラッグ イメージ マネージャーを初期化します。
IDragSourceHelper::InitializeFromWindow

ウィンドウを使用してコントロールのドラッグ イメージ マネージャーを初期化します。

解説

このインターフェイスは、シェルのドラッグ イメージ マネージャーによって公開されます。 アプリケーションでは実装されません。

シェルのドラッグ アンド ドロップ操作中に表示されるイメージを指定するには、このインターフェイスを使用します。 IDragSourceHelperIDropTargetHelperおよび IInitializeWithWindow インターフェイスは、IDropTarget インターフェイスでカスタム ドラッグ イメージを使用できるように、ドラッグ イメージ マネージャー オブジェクトによって公開されます。 これらのインターフェイスのいずれかを使用するには、CLSID_DragDropHelperのクラス識別子 (CLSID) を使用して CoCreateInstance を呼び出して、インプロセス サーバーのドラッグ イメージ マネージャー オブジェクトを作成する必要があります。 標準のコンポーネント オブジェクト モデル (COM) プロシージャを使用してインターフェイス ポインターを取得します。

IDragSourceHelper インターフェイスには、ドラッグ イメージとして使用するビットマップを指定する次の 2 つの方法があります。

  • ウィンドウを持つコントロールは、DI_GETDRAGIMAGE ウィンドウ メッセージを登録し、 IDragSourceHelper::InitializeFromWindow を使用してドラッグ イメージ マネージャーを初期化できます。 DI_GETDRAGIMAGE メッセージを受信すると、ハンドラーは、メッセージの lParam 値として渡される SHDRAGIMAGE 構造体にドラッグ イメージビットマップ情報を配置します。
  • ウィンドウレス コントロールは、 IDragSourceHelper::InitializeFromBitmap を使用してドラッグ イメージ マネージャーを初期化できます。 このメソッドを使用すると、アプリケーションは単純にビットマップを指定できます。
メモ ドラッグ アンド ドロップ ヘルパー オブジェクトは IDataObject::SetData を呼び出して、プロセス間のサポートに使用されるプライベート形式をデータ オブジェクトに読み込みます。 後で IDataObject::GetData を呼び出して、これらの形式を取得します。 ドラッグ アンド ドロップ ヘルパー オブジェクトをサポートするには、データ オブジェクトの SetDataGetData の実装で、任意のプライベート形式を受け入れて返すことができる必要があります。
 
シェルのドラッグ アンド ドロップ操作の詳細については、「 ドラッグ アンド ドロップまたはクリップボードを使用したシェル データの転送」を参照してください。
メモ Windows Vista より前のバージョンでは、このインターフェイスは Shlobj.h で宣言されていました。
 

要件

   
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)