zoukankan      html  css  js  c++  java
  • C++ 关于滚动条的滚动问题

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

  • 相关阅读:
    PHP header的几种用法
    Elasticsearch 学习笔记
    elsearch 安装过程中遇到的错误解决方式
    python常用模块
    python 列表和字段的相关函数
    Nginx+Redis+Ehcache大型高并发高可用三层架构总结
    Docker技术底层架构剖析
    ELK日志分析平台环境部署 (yum安装)
    禁止root直接登陆linux系统
    浅谈Rsync+Inotify实时同步
  • 原文地址:https://www.cnblogs.com/lujin49/p/4582403.html
Copyright © 2011-2022 走看看