主题

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. python开源包提交到pypi社区

    为啥要提交到pypi?因为提交成功后,你今后想用你自己写的模块,只要pip install一下就可以了. 那么如何提交?请参看本篇教程 首先要确定你的包叫啥名,比如我的包叫xlutils3,既然确定了 ...

  2. C++C#时间转换

    time_t是从1970年1月1日的格林尼治时间开始的,所以以下就是你要的结果System.DateTime time= new System.DateTime(1970, 1, 1).ToLocal ...

  3. Request、Request.Form、Request.QueryString 用法的区别

    Request.Form:获取以POST方式提交的数据. Request.QueryString:获取地址栏参数(以GET方式提交的数据). Request:包含以上两种方式(优先获取GET方式提交的 ...

  4. 关系数据库&&NoSQL数据库

    在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发.因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库. ...

  5. 【转】GUID学习

    概念 GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) . GUID是一个通过特定算 ...

  6. phpcms的增删改查操作整理

    一.查 ①select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='') /** * 执行sql查询 ...

  7. Python:映像、集合

    一.字典 字典(dictionary)是Python中唯一的“映射”类型,映射这个概念在高中就学过:一个函数f将键(key, 定义域)映射到值(value, 值域).这样的函数在字典中可以称为哈希(H ...

  8. Java基础 —— DOM

    DOM:文档对象模型(Document Object Model) 定义: 文档:标记型文档:html,xml 对象:将文档或文档中的标签等内容都封装到对象中 模型:只要是标记型文档都通用 将html ...

  9. 数据结构 -- 简单图的实现与遍历 (Java)

    ---恢复内容开始--- 作者版权所有,转载请注明出处,多谢. http://www.cnblogs.com/Henvealf/p/5534071.html 前些天因为某些原因,就试着回想一下图(gr ...

  10. 安装完 MySQL 后必须调整的 10 项配置(转)

    英文原文:10 MySQL settings to tune after installation 译文原文:安装完 MySQL 后必须调整的 10 项配置 当我们被人雇来监测MySQL性能时,人们希 ...