|
HRESULT hr = m_spHtmlObj->get_parentWindow( &pWindow );
hr = pWindow->get_event( &pEventObj );
//ondragover发生时IE的默认行为是“没有鼠标拖拽效果”。
//将IHTMLEventObj的返回值设为false即可取消该事件的默认行为,所以执行完下面这句话,拖拽效果就出现了。
AllowDisplayDragCursor(pEventObj, FALSE);
CComBSTR bstrTagName;
pEventObj->get_srcElement(&pElement); //获得当前HTML Element
pElement->get_tagName(&bstrTagName);
if ( IsEditArea(bstrTagName) ) //根据Tag Name判断是否鼠标位于输入框,以便设置焦点使得光标随鼠标移动
{
CComQIPtr<IHTMLElement2>
pElement2;
if ( SUCCEEDED(pElement->QueryInterface(IID_IHTMLElement2, (void **) &pElement2 ))
&& pElement2 )
{
pElement2->focus();
}
//默认情况下,当拖拽文档到输入框时,鼠标会变成拖拽的光标,所以这里使用IE的默认行为。
AllowDisplayDragCursor(pEventObj, TRUE);
}
}
BOOL CHtmlDocument2::IsEditArea(CComBSTR bstrTagName)
{
return bstrTagName == "INPUT" bstrTagName == "TEXTAREA";
上一篇:我对PMP考试的一些体会
下一篇:关于N皇后问题高效试探回溯算法的分析
|