主题

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 python (三)鼠标事件

    # -*- coding: utf-8 -*-#鼠标事件 #ActionChains类中包括:                     # context_click()  右击:           ...

  2. django-grappelli 安装配置

    在python34/scripts文件夹下pip3 install django-grappelli pip安装一般会装在python34的tools或lib之类的文件夹下,一定要找到那个文件夹,gr ...

  3. pycharm出现乱码

    1. 'gbk' codec can't encode character u'\xb8' 解决办法 import sys reload(sys)sys.setdefaultencoding('utf ...

  4. java 抽象类和接口

    接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念 ...

  5. (转)Java关键字final、static使用总结

    一.final  根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. fin ...

  6. 人们对Python在企业级开发中的10大误解

    From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...

  7. Windows Server 2003单网卡搭建VPN

    Windows Server 2003单网卡搭建VPN   1.打开[控制面板] --> [管理工具] --> [路由和远程访问] 2.鼠标右击你要管理的电脑 在弹出式菜单中选中[配置并启 ...

  8. 使用Powershell 添加,选择更改订阅

    PS C:\WINDOWS\system32> Import-AzurePublishSettingsFile 'C:\Users\Ling\Desktop\Free-11-24-2014-cr ...

  9. air for ios

    在 Adobe AIR 中为不同屏幕尺寸的多种设备提供支持 使用Flash Builder 4.5进行多平台游戏开发 手机屏幕触控技术与提升AIR在Android上的触控体验 AIR Native E ...

  10. html5 拖放到购物车

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...