主题

1.  ScrollBar的使用

2.

3.

4.

5.

    

属性

HScrollBar

VScrollBar

直接拖拽1其中任意空间到对话框上面是,你一拖拽滚动条,它立即回到原始位置

    

代码::

/*

在控件上面添加1个HScrollBar和1个Edit控件

*/

//初始化部分添加代码

    // TODO: Add extra initialization
here
    CScrollBar *pScroll=(CScrollBar*)GetDlgItem(IDC_SCROLLBAR1);
    pScroll->SetScrollRange(0, 100);
    pScroll->SetScrollPos(0);

SetDlgItemInt(IDC_EDIT1, 0);

//为对话杠添加1个OnHScroll消息,添加如下代码

void CProject01Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
    // TODO: Add your message handler code here and/or
call default
    int iPos=pScrollBar->GetScrollPos();
    switch (nSBCode)
    {
    case SB_LINERIGHT:
            iPos+=1;
            break;
    case SB_LINELEFT:
            iPos-=1;
            break;
    case SB_PAGERIGHT:
            iPos+=10;
            break;
    case SB_PAGELEFT:
            iPos-=10;
            break;
    case SB_THUMBTRACK:
            iPos=nPos;
            break;
    default:
        break;
    }
    if (iPos<0) iPos=0;
    if (iPos>100) iPos=100;
    pScrollBar->SetScrollPos(iPos);
    SetDlgItemInt(IDC_EDIT1, iPos);
    
    CDialog::OnHScroll(nSBCode, nPos, pScrollBar);

}

//为Edit1添加OnChange消息

void CProject01Dlg::OnChangeEdit1()
{
    // TODO: If this is a RICHEDIT control, the control
will not
    // send this notification unless you override the
CDialog::OnInitDialog()
    // function and call
CRichEditCtrl().SetEventMask()
    // with the ENM_CHANGE flag ORed into the
mask.
    CString STR;
    GetDlgItemText(IDC_EDIT1, STR);
    STR.TrimLeft();
    STR.TrimRight();
    INT iPos=0;
    if (STR!="-"
&& STR!="")
    {
        if
(!UpdateData())
        {
            return;
        }
        iPos=m_nEdt1;
    }
    CScrollBar *pScroll=(CScrollBar*)GetDlgItem(IDC_SCROLLBAR1);
    pScroll->SetScrollPos(iPos);
    
    // TODO: Add your control notification handler code
here
    
}
 
    

效果图:

附件列表

C++ Code_ScrollBar的更多相关文章

随机推荐

  1. 使用Selenium+appium进行App测试

    1. 启动安卓虚拟机.

  2. ASP.NET Cookie对象到底是毛啊?(简单小例子)

    记得刚接触asp.net的时候,就被几个概念搞的头痛不已,比如Request,Response,Session和Cookie.然后还各种在搜索引擎搜,各种问同事的,但是结果就是自己还是很懵的节奏. 那 ...

  3. Android Capture Android System Audio

    项目需要获取播放视频的实时音量值,最简捷的方法是监听音频输出端,取得音频输出流,再进行转换. 调查时,首先找到这篇博客: http://blog.csdn.net/jinzhuojun/article ...

  4. 《学习OpenCV》练习题第五章第二题abc

    代码: #include <stdio.h> #include <opencv/highgui.h> #include <opencv/cv.h> #include ...

  5. Mono 之 Jexus

    Jexus web server for linux 是运行在Linux上的Web服务器.其安装和部署及其简单,直接支持Asp.net . 下载Jexus wget http://linux.j66. ...

  6. linux du命令: 显示文件、目录大小

    介绍:du命令用于显示指定文件(夹)在磁盘中所占的空间信息.假如指定的文件参数实际上是一个目录,就要计算该目录下的所有文件.假如 没有提供文件参数,执行du命令,显示当前目录内的文件占用空间信息. 语 ...

  7. vim中大小写转化

    @(编程) gu或者gU 形象一点的解释就是小u意味着转为小写:大U意味着转为大写. 整篇文章大写转化为小写 打开文件后,无须进入命令行模式.键入: ggguG 解释一下: ggguG分作三段gg g ...

  8. CENTOS LINUX查询内存大小、频率

    more /proc/meminfo dmidecode [root@barcode-mcs ~]# dmidecode -t memory linux下查看主板内存槽与内存信息 1.查看内存槽数.那 ...

  9. Weka EM 协方差

    Weka EM covariance description 1: Dear All, I am trying to find out what is the real meaning of the ...

  10. Opencv2系列学习笔记10(提取连通区域轮廓)

    连通区域指的是二值图像中相连像素组成的形状.而内.外轮廓的概念及opencv1中如何提取二值图像的轮廓见我的这篇博客:http://blog.csdn.net/lu597203933/article/ ...