佚名通过本文主要向大家介绍了web browse optimizer,browse the web,browse web sites,browse web site,browse web pages等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: webbrowse替换自己实现的IDropTarget无效。
描述:
然后在GetDropTarget中直接返回S_FALSE,这样就禁止了文件的拖放,我想要把默认的替换成自己实现的拖放功能
替换了后,DragEnter,DragOver,DragLeave这些都没进入断点,是否哪步出错了,请指教
解决方案1:
描述:
要实现的目的是:取消默认的拖放文件功能(比如如果拖放一个TXT会在webbrowse中打开,)并获取响应文件的路径。
查了下资料,重新实现了IDropTarget和IDocHostUIHandler,在对话框的OnInitDialog中
CComPtr<IHTMLDocument2> spDoc;
m_HtmlEditCtrl.GetDHtmlDocument(&spDoc);
CComPtr<ICustomDoc> spCustomDoc;
spDoc->QueryInterface(IID_ICustomDoc, (void **)&spCustomDoc);
CComPtr<IDocHostUIHandler> spDocHostUIHandler;
spCustomDoc->QueryInterface(IID_IDocHostUIHandler, (void **)&spDocHostUIHandler);
IDocHostUIHandler* myDocHandler = new Handler;
HRESULT r = spCustomDoc->SetUIHandler(myDocHandler);
然后在GetDropTarget中直接返回S_FALSE,这样就禁止了文件的拖放,我想要把默认的替换成自己实现的拖放功能
HRESULT STDMETHODCALLTYPE GetDropTarget(
/* [in] */ IDropTarget *pDropTarget,
/* [out] */ IDropTarget **ppDropTarget)
{
IDropTarget *pDrag = new DropTarget;
*ppDropTarget = pDrag;
return S_OK;
}
替换了后,DragEnter,DragOver,DragLeave这些都没进入断点,是否哪步出错了,请指教
解决方案1:
返回E_FAIL?