webbrowser控件将读取的网页去除了滚动条,可以用鼠标实现网页的拖动效果吗,如何解决.
1个回答
展开全部
可以的。
原理应该是。通过接口取得网页源码。去控制滚动条的。拖动的。我的是VC代码。可能。VB。跟DELphi 选取控件时有。函数的。
IDispatch * pDispatch = NULL;
IHTMLDocument2 * pDoc = NULL;
IHTMLElementCollection * objAllElement = NULL; // element collections
long nElementCount; // the count of elements
pDispatch = m_web.GetDocument();
ASSERT(pDispatch);
HRESULT hr = pDispatch->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc);
pDoc->get_all(&objAllElement);
//////////////////////////////////////////////////
IHTMLElement *pBody = NULL;//主体
hr = pDoc->get_body( &pBody );
ASSERT( SUCCEEDED( hr ) );
ASSERT( pBody );
// 从body获得IHTMLElement2接口指针,用以访问滚动条
IHTMLElement2 *plement = NULL;
hr = pBody->QueryInterface(IID_IHTMLElement2,(void**)&plement);
IHTMLWindow2* pWnd = NULL;
pDoc->get_parentWindow(&pWnd);
pWnd->scrollTo(200,530); // 这里要滚动的目标位置
原理应该是。通过接口取得网页源码。去控制滚动条的。拖动的。我的是VC代码。可能。VB。跟DELphi 选取控件时有。函数的。
IDispatch * pDispatch = NULL;
IHTMLDocument2 * pDoc = NULL;
IHTMLElementCollection * objAllElement = NULL; // element collections
long nElementCount; // the count of elements
pDispatch = m_web.GetDocument();
ASSERT(pDispatch);
HRESULT hr = pDispatch->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc);
pDoc->get_all(&objAllElement);
//////////////////////////////////////////////////
IHTMLElement *pBody = NULL;//主体
hr = pDoc->get_body( &pBody );
ASSERT( SUCCEEDED( hr ) );
ASSERT( pBody );
// 从body获得IHTMLElement2接口指针,用以访问滚动条
IHTMLElement2 *plement = NULL;
hr = pBody->QueryInterface(IID_IHTMLElement2,(void**)&plement);
IHTMLWindow2* pWnd = NULL;
pDoc->get_parentWindow(&pWnd);
pWnd->scrollTo(200,530); // 这里要滚动的目标位置
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询