SHDoDragDrop 関数 (shlobj_core.h)
ドラッグ アンド ドロップ操作を実行します。 必要に応じてドラッグ ソースの作成をサポートし、画像をドラッグします。
構文
SHSTDAPI SHDoDragDrop(
[in] HWND hwnd,
[in] IDataObject *pdata,
[in] IDropSource *pdsrc,
[in] DWORD dwEffect,
[out] DWORD *pdwEffect
);
パラメーター
[in] hwnd
型: HWND
ドラッグイメージの取得に使用するウィンドウのハンドル。 この値には NULL を指定できます。 詳細については、「解説」を参照してください。
[in] pdata
型: IDataObject*
ドラッグするデータを含むデータ オブジェクト上の IDataObject インターフェイスへのポインター。
[in] pdsrc
種類: IDropSource*
ドラッグ操作中にソースと通信するために使用される IDropSource インターフェイスの実装へのポインター。
Windows Vista の時点で、この値が NULL の場合、シェルによってドロップ ソース オブジェクトが自動的に作成されます。
[in] dwEffect
型: DWORD
ドラッグ アンド ドロップ操作でソースで許容される効果。 最も重要な効果は、ドラッグ アンド ドロップ操作で移動が許可されるかどうかです。 使用可能な値の一覧については、「 DROPEFFECT」を参照してください。
[out] pdwEffect
型: DWORD*
ドラッグ アンド ドロップ操作がソース データに与えた影響を示す値へのポインター。 pdwEffect パラメーターは、操作が取り消されない場合にのみ設定されます。 使用可能な値の一覧については、「 DROPEFFECT」を参照してください。
戻り値
型: HRESULT
この関数は、標準の戻り値E_OUTOFMEMORYと、次の値をサポートしています。
リターン コード | 説明 |
---|---|
|
ドラッグ アンド ドロップ操作が成功しました。 |
|
ドラッグ アンド ドロップ操作が取り消されました。 |
|
Unexpected error occurred. (予期しないエラーが発生しました。) |
注釈
Windows Vista の時点で、ドラッグ イメージがまだデータ オブジェクト pdtobj に格納されておらず、 hwnd で指定されたウィンドウからドラッグ イメージを取得できない場合、シェルは一般的なドラッグ イメージを提供します。 hwnd が NULL であるか、指定したウィンドウがDI_GETDRAGIMAGE メッセージをサポートしていないため、指定したウィンドウからドラッグ イメージを取得できない場合があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | shlobj_core.h (Shlobj.h を含む) |
Library | Shell32.lib |
[DLL] | Shell32.dll (バージョン 6.0 以降) |
API セット | ext-ms-win-shell-shell32-l1-2-1 (Windows 10 バージョン 10.0.10240 で導入) |