服务器之家

服务器之家 > 正文

C++ 中滚动条的滚动问题

时间:2021-02-28 11:45     来源/作者:C++教程网
?
1
2
3
4
5
6
7
8
9
10
11
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 来判断是哪个滚动条的哪个动作,做了调整

下面列出滚动的相关函数

?
1
2
3
4
5
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。
      指针可能是瞬态的,不应存储以供将来使用。

以上所述就是本文的全部内容了,希望大家能够喜欢。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部