遇到一个问题:在用WebBrowser控件打开网页后,让网页中的滚动条滚动到最底部。
在网上找到了方法:用DCOM组件技术,获取HTML接口指针。(前一阵做调用网页中的JavaScript函数也是采用这种技术)。代码如下:
boolput_scrollTop()
{
HRESULT hr;
CComPtr <IDispatch > spDisp;
IHTMLDocument2 *spDoc = NULL;
spDisp = m_objWebBrowser.GetDocument();
hr = spDisp->QueryInterface( IID_IHTMLDocument2, ( void** )&spDoc );
ASSERT( SUCCEEDED( hr ) );
IHTMLElement* pElement = NULL;
hr = spDoc->get_body( &pElement );
ASSERT( SUCCEEDED( hr ) );
IHTMLElement2* pElement2 = NULL;
hr = pElement->QueryInterface( IID_IHTMLElement2, ( void** )&pElement2 );
ASSERT( SUCCEEDED( hr ) );
// 获得网页中滚动条的全部高度
long scrollTop;

本文介绍了如何在使用WebBrowser控件打开网页后,将滚动条滚动到最底部。针对有多个Frame的网页,文章提供了两种方法,包括通过DCOM组件获取HTML接口指针,以及遍历所有元素来设置iframe或frame的滚动条位置。
最低0.47元/天 解锁文章
1332

被折叠的 条评论
为什么被折叠?



