IDropSource::QueryContinueDrag メソッド (oleidl.h)

ドラッグ アンド ドロップ操作を続行するか、取り消すか、完了するかを指定します。 このメソッドを直接呼び出すことはありません。 OLE DoDragDrop 関数は、ドラッグ アンド ドロップ操作中にこのメソッドを呼び出します。

構文

HRESULT QueryContinueDrag(
  [in] BOOL  fEscapePressed,
  [in] DWORD grfKeyState
);

パラメーター

[in] fEscapePressed

QueryContinueDrag の前回の呼び出し以降に Esc キーが押されたか、これが QueryContinueDrag の最初の呼び出しである場合は DoDragDrop に押されたかを示します。 TRUE 値は、エンド ユーザーがエスケープ キーを押したことを示します。FALSE 値は、押されていないことを示します。

[in] grfKeyState

キーボードのキーボード修飾子キーの現在の状態。 使用できる値は、フラグ MK_CONTROL、MK_SHIFT、MK_ALT、MK_BUTTON、MK_LBUTTON、MK_MBUTTON、MK_RBUTTONの組み合わせです。

戻り値

このメソッドは、次の値を返すことができます。

リターン コード 説明
S_OK
ドラッグ操作を続行する必要があります。 この結果は、エラーが検出されず、ドラッグ アンド ドロップ操作を開始するマウス ボタンが解放されておらず、Esc キーが検出されていない場合に発生します。
DRAGDROP_S_DROP
ドラッグ操作を完了すると、ドロップ操作が実行されます。 この結果は、 grfKeyState がドラッグ アンド ドロップ操作を開始したキーが解放されたことを示している場合に発生します。
DRAGDROP_S_CANCEL
ドロップ操作を行っていない状態でドラッグ操作を取り消す必要があります。 この結果は、 fEscapePressedTRUE の場合に発生し、Esc キーが押されたことを示します。

解説

DoDragDrop 関数は、ドラッグ アンド ドロップ操作中にキーボードまたはマウス ボタンの状態の変化を検出するたびに QueryContinueDrag を呼び出します。 QueryContinueDrag では、パラメーター grfKeyStatefEscapePressed の内容に基づいて、ドラッグ アンド ドロップ操作を続行するか、取り消すか、完了するかを決定する必要があります。

要件

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

関連項目

Dodragdrop

IDropSource