请问如何在WebBrowser控件初始化的时候指定我定义的IDocHostShowUI回调接口?

布鲁克零三四四 2003-05-21 05:13:13
我在MFC的对话框程序中插入了一个WebBrowser控件,
为了向控件传递自己实现的IDocHostShowUI接口,
我自己实现了m_OleClientSite::QueryInterface方法,
并且让它能够得到我自己实现的IDocHostShowUI接口。

我在OnDocumentComplete()中调用
{
CComQIPtr<IWebBrowser2> piWebBrowser( pDisp ) ;
CComQIPtr<IOleObject> piOleObj(piWebBrowser) ;
piOleObj->SetClientSite( &m_OleClientSite) ;
RECT rcClient ;
this->GetClientRect(&rcClient);
piOleObj->DoVerb( OLEIVERB_INPLACEACTIVATE,
NULL ,
&m_OleClientSite ,
0 ,
this->GetSafeHwnd() ,
&rcClient );

// Register container to intercept WebBrowser events
DWORD dwCookie = 0 ;
AtlAdvise(piWebBrowser, &m_OleClientSite, DIID_DWebBrowserEvents2, &dwCookie);
}

跟踪发现,m_OleClientSite::QueryInterface()已经被调用,
可是控件根本没有查询我提供的IDocHostShowUI接口。
我怀疑应该在控件初始化以前做上面的操作,可是在OnInitDialog
中根本无法得到IWebBrowser2接口,
请问我应该如何向控件指定我的回调接口?
谢谢。
...全文
74 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pollux2008 2003-05-22
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/Read_Article.asp?Id=8813
  • 打赏
  • 举报
回复
请帮帮我。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧