关闭

C++关于滚动条的滚动问题

发表于:2015-6-23 11:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:鹿我所录    来源:51Testing软件测试网采编

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。
  指针可能是瞬态的,不应存储以供将来使用。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号