VC/MFC,WebBrowser控件找到网页元素后如何将滚动条定位到那里?如何将滚动条定位到指定元素位置?

 我来答
happy牧神
2016-08-19 · TA获得超过616个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:116万
展开全部

先说一句,现在MFC最新的WebBrowser是CWebBrowser2

SCROLLINFO scrollinfo;
GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL);
switch (nSBCode)
{
case SB_LINERIGHT:
  if (scrollinfo.nPos < scrollinfo.nMax){
  scrollinfo.nPos += 10;
  SetScrollInfo(SB_HORZ, &scrollinfo);
  ScrollWindow(-10, 0);}
  break;
}


使用 GetScrollInfo 得到滚动信息 将信息保存于 SCROLLINFO 类的数据中

然后根据 nSBCode 来判断是哪个滚动条的哪个动作,做了调整

下面列出滚动的相关函数

afx_msg void OnHScroll( 
  UINT nSBCode, 
  UINT nPos, 
  CScrollBar* pScrollBar 
);

各个参数的意义:

nSBCode

      指定指示用户滚动请求的滚动条代码。 此参数可以是下列值之一:
      SB_LEFT 滚动到最左侧。
      SB_ENDSCROLL 结束滚动。
      SB_LINELEFT 滚动。
      SB_LINERIGHT 滚动权限。
      SB_PAGELEFT 滚动一页。
      SB_PAGERIGHT 滚动一页权限。
      SB_RIGHT 滚动到最右边。
      SB_THUMBPOSITION 为绝对位置的滚动。         当前位置由 nPos 参数指定。
      SB_THUMBTRACK 拖动到指定位置的滚动框。 当前位置由 nPos 参数指定。
nPos
      如果滚动条代码是 SB_THUMBPOSITION 或 SB_THUMBTRACK,指定滚动框位置;否则,未使用。 基于初始滚动大小,nPos 可以为负的,因此如果需要,转换到 int。
pScrollBar
      如果滚动消息来自滚动条控件,其中包含指向该控件。 //如果是手动添加的滚动控件
      如果用户单击窗口滚动条,此参数是 NULL。
      指针可能是瞬态的,不应存储以供将来使用。

还有什么问题可以私信我~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式