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

C++ 关于滚动条的滚动问题的更多相关文章

  1. 实现winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部

    判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为DataGridView控件添加Scroll事件,然后写入以下代码就可以了,应用范围:可实现分部加载数据 ...

  2. 不同浏览器对document.documentElement和document.body的scrollheight ,scrollTop,clientHeight以及判断滚动条是否滚动到页面最底部 【转载】

    前段时间学习怎么写一个瀑布流的时候,就接触到document.documentElement和document.body的区别,然后今天查资料的时候看到这篇博客,遂转载记录在此. 两种特殊的文档属性可 ...

  3. winform DataGridView控件判断滚动条是否滚动到当前已加载的数据行底部 z

    http://www.zuowenjun.cn/post/2015/05/20/162.html 判断 DataGridView控件滚动条是否滚动到当前已加载的数据行底部,其实方法很简单,就是为Dat ...

  4. ListCtrl中垂直滚动条自动滚动

    在用ListCtrl控件时,当向该控件中添加数据时,怎么样可以把滚动条时时滚动到最后一行,这样便可看到添加的新数据内容 1 加完数据后执行 EnsureVisible(最后一行索引) 可以保证滚动到最 ...

  5. C#超简单方法实现两个richtextbox控件滚动条同步滚动

    此文章属于作者原创,转载请注明,谢谢 有时候我们需要实现对照文章等,往往将文本放到两个richtextbox控件中,但是,如果我们需要同步滚动查看,来达到更好的观看效果. 当然,传统的方法重载控件或者 ...

  6. chrome升级后出现滚动条无法滚动

    最近升级chrome最新版本后,导致项目中功能页面的局部滚动条无法滚动(心里暗骂了很久),无论怎么滚动都是最外层的滚动条响应... 1.猜想:尼玛google应该不会干事件流混乱这种事,pass: 2 ...

  7. 两table水平滚动条级联滚动(同步滚动)。 table1放标题,table2放内容。

    //table1=head和table2=body水平滚动条级联滚动 $(document).ready(function () { $("#bodyPanel").scroll( ...

  8. VC对话框实现添加滚动条实现滚动效果

    对话框滚动条及滚动效果实现,用的api主要有: ScrollWindow, SetScrollInfo, GetScrollInfo, SetWindowOrgEx.涉及的数据结构为SCROLLINF ...

  9. js 判断滚动条的滚动方向

    以下代码实现判断页面的滚动条的滚动方向: var sign = 80;//定义默认的向上滚与向下滚的边界 window.onscroll = window.onresize = function(){ ...

  10. 关于ipad设备滚动条无法滚动的解决办法

    天做一个功能在ipad设备上滚动条无法滚动,于是百度了下,在需要产生滚动的div上面加入以下css(-webkit-overflow-scrolling:touch,overfolw:scroll), ...

随机推荐

  1. tcp粘包解决

    import socket import hashlib import subprocess import struct phone = socket.socket(socket.AF_INET,so ...

  2. http协议中的一些小常识

    http协议这部分的知识很重要,在面试的时候也会经常问起来. 先来看一看什么是http协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一 ...

  3. SQL Server 导入超大脚本

    另外使用window server 版操作系统,执行脚本文件比普通版操作系统大大提升大小限制. 在执行SQL脚本的时候要是出现了这些情况我咋办呢? 步入正轨 应用场景:服务器升级,比如原来是2003的 ...

  4. Linux最大线程数限制及当前线程数查询

    常用配置 echo > /proc/sys/kernel/pid_max a) 当前环境生效 ulimit -d unlimited ulimit -m unlimited ulimit -s ...

  5. ping -c 3 localhost

    linux指令,ping -c count ip,向指定IP发送指定数量的ping包

  6. 1-hadoop安装、ssh、节点退役与服役

    1.准备 四台虚拟机 ①卸载openjdk ②安装jdk 2. 配置静态ip: ip : 每个机器在internet上的唯一标识 子网掩码: 必须结合IP地址一起使用,将某个IP地址划分成网络地址和主 ...

  7. Spring Boot 整合mybatis-generator

    Maven 引入 mybatis-generator插件 <build> <plugins> <plugin> <groupId>org.springf ...

  8. ORA-01461的解决过程~~

    转自:http://blog.itpub.net/7607759/viewspace-521189 近日生产库中的一个过程报出了ora-1461的错误,虽然错误实际处理起来非常简单,但解决过程中与ya ...

  9. openStack queens

  10. tomcat7的一些设置(修改内存)

    1.内存修改.今天在tomcat7下面部署了两个项目.居然报错了. 然后开始打开Tomcat7w.exe 在java标签中的initial memory pool和muxinum memory poo ...