首页 > 编程 > C++ > 正文

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

2020-05-23 14:19:45
字体:
来源:转载
供稿:网友

本文主要通过一个示例,给大家介绍了C++中滚动条的滚动问题,以及相关参数的解释,非常的详细,有需要的小伙伴可以参考下。

 

 
  1. SCROLLINFO scrollinfo; 
  2. GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL); 
  3. switch (nSBCode) 
  4. case SB_LINERIGHT: 
  5. if (scrollinfo.nPos < scrollinfo.nMax){ 
  6. scrollinfo.nPos += 10; 
  7. SetScrollInfo(SB_HORZ, &scrollinfo); 
  8. ScrollWindow(-10, 0);} 
  9. break

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

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

下面列出滚动的相关函数

 

 
  1. afx_msg void OnHScroll(  
  2. UINT nSBCode,  
  3. UINT nPos,  
  4. CScrollBar* pScrollBar  
  5. ); 

各个参数的意义:

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。

指针可能是瞬态的,不应存储以供将来使用。

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


更多可参看:C++入门教程

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表