IDropSource::QueryContinueDrag 方法 (oleidl.h)

确定是应继续、取消还是完成拖放操作。 请勿直接调用此方法。 OLE DoDragDrop 函数在拖放操作期间调用此方法。

语法

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

parameters

[in] fEscapePressed

指示自上一次调用 QueryContinueDragDoDragDrop (如果这是对 QueryContinueDrag 的第一次调用)以来是否按下了 Esc 键。 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 函数在拖放操作期间检测到键盘或鼠标按钮状态发生更改时,将调用 QueryContinueDragQueryContinueDrag 必须根据 参数 grfKeyStatefEscapePressed 的内容确定是应继续、取消还是完成拖放操作。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 oleidl.h

请参阅

DoDragDrop

IDropSource