|
*pdwEffect = dwTempEffect;
}
return S_OK;
}
//根据调用缺省行为前后的Effect值判断是否是往输入框拖拽文字
BOOL CBrowserDropTarget::IsDragTextToInputBox(DWORD dwOldEffect, DWORD dwNewEffect)
{
//如果是把非输入框中文字往输入框拖动,则dwOldEffect与dwNewEffect相等,都是DROPEFFECT_COPY
BOOL bTextSelectionToInputBox = ( dwOldEffect == DROPEFFECT_COPY )
&& ( dwOldEffect == dwNewEffect );
//如果是把文字从一个输入框拖到另一个输入框,则dwOldEffect为DROPEFFECT_COPY DROPEFFECT_MOVE,
//而dwNewEffect的值可能为DROPEFFECT_MOVE(默认情况),也可能为DROPEFFECT_COPY(按下Ctrl键时)
BOOL bInputBoxToInputBox = ( dwOldEffect == (DROPEFFECT_COPY DROPEFFECT_MOVE) )
&& ( dwNewEffect == DROPEFFECT_MOVE dwNewEffect == DROPEFFECT_COPY );
//来自Microsoft Word的拖拽特殊一些,dwOldEffect是所有效果的组合值
BOOL bMSWordToInputBox =
( dwOldEffect == (DROPEFFECT_COPY DROPEFFECT_MOVE DROPEFFECT_LINK) )
&& ( dwNewEffect == DROPEFFECT_MOVE dwNewEffect == DROPEFFECT_COPY );
//来自Edit Plus的拖拽过也特殊一些,dwOldEffect是个负数(怀疑是Edit Plus的拖拽实现有问题)
BOOL bEditPlusToInputBox = ( dwOldEffect < 0 )
&& ( dwNewEffect == DROPEFFECT_MOVE dwNewEffect == DROPEFFECT_COPY );
上一篇:我对PMP考试的一些体会
下一篇:关于N皇后问题高效试探回溯算法的分析
|