|
//也许还有些例外,可再添加
......
return bTextSelectionToInputBox bInputBoxToInputBox bMSWordToInputBox bEditPlusToInputBox;
}
STDMETHODIMP CBrowserDropTarget::DragLeave()
{
//调用缺省的行为
return m_pOrginalDropTarget->DragLeave();
}
STDMETHODIMP CBrowserDropTarget::Drop(/* [unique][in] */ IDataObject __RPC_FAR *pDataObj,
/* [in] */ DWORD grfKeyState,
/* [in] */ POINTL pt,
/* [out][in] */ DWORD __RPC_FAR *pdwEffect)
{
if ( m_bDragTextToInputBox )
{
//是文字拖放,调用IE的缺省行为
return m_pOrginalDropTarget->Drop(pDataObj, grfKeyState, pt, pdwEffect);
}
//否则是拖放链接、图片、文件等,按常规的IDataObject处理方式
......
return S_OK;
}
至此,我们就得到了一个完美的“超级拖放”的基本框架,它在扩展的同时保留了IE的默认行为:
- 文字在页面内与输入框之间能够交互拖放。
上一篇:我对PMP考试的一些体会
下一篇:关于N皇后问题高效试探回溯算法的分析
|