首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

VC怎么获取IE浏览器的滚动条位置

2012-10-10 
VC如何获取IE浏览器的滚动条位置VC6.0的SDK已经更新过,已经知道网页的窗口句柄,用IHTMLTextContainer和IHT

VC如何获取IE浏览器的滚动条位置
VC6.0的SDK已经更新过,已经知道网页的窗口句柄,用IHTMLTextContainer和IHTMLWindow2获得的滚动条位置信息scrollTop总是为0,有没有做过的给出可用的VC代码,要求能获得所有网页的滚动条scrollTop信息。
如能解决问题,分数可以再加。

[解决办法]
能获取到ie的范围不?
CRect IERect;
CWnd* hParent = GetParent();
hParent->GetClientRect(&IERect);
[解决办法]

探讨

谢谢redui,你写的就是我这两天反复试过的,看来只有做过才能知道究竟如何。
如果你或者其他朋友能给出你能成功运行的代码也行,问题是我得到的get_scrollTop
一直都是0,这个问题是有些难。
谁有成功的代码或经验不妨在这里供大家学习一下。

[解决办法]
再这样试试,不通过body,而是通过documentElement来获取。、

IHTMLDocument2::QueryInterface --> IHTMLDocument3
IHTMLDocument3::get_documentElement --> IHTMLElement
IHTMLElement::QueryInterface --> IHTMLElement2
IHTMLElement2::get_scrollTop/scrollLeft

据说(只是据说),早期IE版本可以通过body.scrollTop获取,后期版本(可能是IE6)就失效了。

如果还有问题,再尝试一下取消HTML文档头的申明,因为DTD类型对浏览器的行为有影响,去掉类似下面这个语句:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当然,DTD代表页面符合规范,去掉DTD可能导致无法预料的显示结果。
[解决办法]
收藏了

热点排行