COleDropSource::QueryContinueDrag

virtual SCODE QueryContinueDrag( BOOL bEscapePressed, DWORD dwKeyState );

返回值:
在拖动开始之前,如果按下ESC键或者鼠标右键或放开鼠标左键,则返回DRAGDROP_S_ CANCEL。如果要发生一次放开操作则返回DRAGDROP_S_DROP,否则返回S_OK。

参数:
bEscapePressed自最后一次调用COleDropSource::QueryContinueDrag后,ESC键被按下的状态。
dwKeyState记录键盘上的修改键的状态。这是下列任何一个组合:
MK_CONTROL,MK_SHIFT,MK_ALT,MK_LBUTTON,MK_MBUTTON和MK_RBUTTON。

说明:
在拖动开始后,这个函数被框架重复调用直到拖动操作被取消或者结束。如果你想改变拖动的取消点或发生一次放开操作,你可以重载这个函数。
缺省的实现方式按下面的描述启动放开或取消一次拖动。当ESC键或鼠标右键被按下时,就取消一次拖动操作。在拖动开始之后,当鼠标左键被放起时,就启动一次放开操作。否则,此函数返回S_OK并不再执行进一步的操作。
由于这个函数被频繁地调用,所以要尽可能地对它进行优化。

请参阅:
COleDropSource::OnBeginDrag, COleDropTarget::OnDrop