VC WebBrowser控件 如何判断页面已经加载成功

chenling2545 2010-06-01 05:15:58
VC WebBrowser控件 如何判断页面已经加载成功,要实用的,不要太多做好是一个函数
...全文
167 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenling2545 2010-06-03
  • 打赏
  • 举报
回复
啊,做到这里才知道,问题不是调用,是怎么去触发这个方法?有没有人知道啊?
chenling2545 2010-06-02
  • 打赏
  • 举报
回复
可不可以把怎么函数都写好啊,我之前写了这个函数,报了好多的错误,
还有哦,到底是用这个DocumentComplete() ,还是用DocumentCompleteExplorer()啊?
天山游龙 2010-06-02
  • 打赏
  • 举报
回复
//定義一個變量
int m_Disp;
//每次你要重新加載一個網頁的時候,初始化這個變量為0
m_Disp=0;
//然後在NavigateComplete2Explorer1(LPDISPATCH pDisp, VARIANT* URL)這個函數裏面加入
m_Disp++;//注意這個函數是響應這個控件的NavigateComplete2事件消息,如果是VS,可以在這個WEB控件上選擇”添加事件處理程序“找個這個消息

由於網頁可能多幀,網頁加載完一個幀都會調用這個函數一次,所以m_Disp>=1,m_Disp多少就表示有多少個幀


假如你的WEB控件變量是m_Web;
那下面這樣聯合判斷就可以了
if( m_Web.get_ReadyState()==READYSTATE_COMPLETE&&m_Disp )
chenling2545 2010-06-02
  • 打赏
  • 举报
回复
啊,我写了这个函数:
void CHistoryDlg::OnDocumentComplete(LPDISPATCH lpDisp,VARIANT *URL)
{
IUnknown*pUnk;
LPDISPATCH lpWBDisp;
HRESULT hr;
pUnk=m_pBrowser.GetControlUnknown();
ASSERT(pUnk);
hr=pUnk->QueryInterface(IID_IDispatch,(void**)&lpWBDisp);
ASSERT(SUCCEEDED(hr));
if(lpDisp==lpWBDisp){
AfxMessageBox("aa");
}
}
可是怎么调用啊,它都不执行if(lpDisp==lpWBDisp)后面的语句的,怎么办啊?
悟迟 2010-06-01
  • 打赏
  • 举报
回复
webBrowser的DocumentComplete()事件
void CWebBrowserDlg::DocumentCompleteExplorer(LPDISPATCH pDisp, VARIANT* URL)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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