请教IWebBrowser2控件在网页有多个frame时的DocumnetComplete事件
如何判断主frame文档下载完成时激发的DocumnetComplete事件。就是打开一个网页的时候最后一个DocumnetComplete事件。我再网上也看到一个例子,不过有个地方有错误,大家看看:
void CSimpleWebBrowserView::OnComplete(LPDISPATCH pDisp, VARIANT* URL)
{
HRESULT hr;
IUnknown* pUnkBrowser = NULL;
IUnknown* pUnkDisp = NULL;
// 这个 DocumentComplete 事件是否是顶层框架窗口的?
// 检查 COM 标识: 比较IUnknown 接口指针.
hr = m_pbBrowser->GetDocument()->QueryInterface( IID_IUnknown, (void**) &pUnkBrowser );
if ( SUCCEEDED(hr) )
{
hr = pDisp->QueryInterface( IID_IUnknown, (void**)&pUnkDisp );
if ( SUCCEEDED(hr) )
{
if ( pUnkBrowser == pUnkDisp )
{
AfxMessageBox("Complete!");
// 这是顶层框架窗口的DocumentComplete 事件 —— 页面 载入完成!
// 建立一个包含HTML内容的流
// 另外, 这个流可以是被传递过来的(而不是被创建的)
}
pUnkDisp->Release();
}
pUnkBrowser->Release();
}
}
我的程序中m_pBrowser是一个CWebBrowser2(就是在VC中引入ie控件后自动生成的类)的指针,
不能调用QueryInterface函数。也就是m_pBrowser-〉QueryInterface()出错。那位大虾看看怎么解决呢?