|
VARIANT Data;
hr = pdt->getData(bstrFormat, &Data);
if ( Data.vt != VT_NULL )
{ //获取成功,拖放的对象是Url
DoOpenUrl(CString(Data.bstrVal));
}
else
{ //否则尝试获取选中的文本
bstrFormat = "Text";
hr = pdt->getData(bstrFormat, &Data);
if ( Data.vt != VT_NULL )
{ //获取成功,拖放的内容是文本
CComBSTR bstrTagName;
pEventObj->get_srcElement(&pElement);
pElement->get_tagName(&bstrTagName);
if ( IsEditArea(bstrTagName) )
{
//Drop target是输入框,不做任何操作,由IE进行默认处理
return;
}
else
{ //否则我们自己处理文本,或保存,或检测是否链接后打开,等等
DoProcessText(CString(Data.bstrVal));
//Process the text
}
}
else
//It seems we got dropped files
{ //既不是链接,也不是文本,可认为是来自外部(如Windows Shell)的文件拖放
上一篇:我对PMP考试的一些体会
下一篇:关于N皇后问题高效试探回溯算法的分析
|