判断多Frame网页是否真正加载完毕(CHtmlView) .

 

1. 手工重载添加两个虚拟函数:

virtual void DocumentComplete(LPDISPATCH pDisp, VARIANT* URL);

virtual void NavigateComplete2(LPDISPATCH pDisp, VARIANT* URL);

 

注意:不是以下两个函数

virtual void OnDocumentComplete( VARIANT* URL);

virtual void OnNavigateComplete2( VARIANT* URL);

 

-------------------------------------------------------------------------

2. 声明一个成员变量,并在构造函数中进行初始化:

LPDISPATCH m_lpDisp;//用于判断网页加载是否真正完毕

 

m_lpDisp = NULL;//构造函数中初始化

 

-------------------------------------------------------------------------

3. 这两个函数的具体实现:(参照微软)

//配合NavigateComplete2,判断网页是否真正加载完毕,用于多Frame网页

void CXXXXView::DocumentComplete(LPDISPATCH pDisp,VARIANT* URL)

{

 if(m_lpDisp &&(m_lpDisp == pDisp))//判断网页是否真正加载完毕,用于多Frame网页

 {

//if the LPDISPATCH are same,that means it is the final DocumentComplete

 TRACE("Document is done downloading");

 AfxMessageBox("下载完毕");

 m_lpDisp=NULL;//Reset glpDisp

 }

}

 

//配合DocumentComplete,判断网页是否真正加载完毕,用于多Frame网页

void CXXXXView::NavigateComplete2(LPDISPATCH pDisp,VARIANT* URL)

{

//Check if glpDisp is NULL.If NULL,that means it is

//the top level NavigateComplete2. Save the LPDISPATCH

 if(!m_lpDisp) m_lpDisp=pDisp;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值