MFC 滚动条控件简单实例

1. 创建基于对话框的MFC应用程序,删去对话框中的其他控件(Ctrl+A,Delete)拖入控件Horizontal Scroll Bar (水平滚动条,同样也可以拖如垂直滚动条Vertical Scroll Bar),拖入Edit Control(文本编辑框),修改Edit Control属性,将read-only修改为True.ID修改为IDC_HSCROLL_EDIT.效果如下:
2. 重写WM_HSCROLL消息映射函数:右键类视图对话框类属性->消息->WM_HSCROLL->Add->进入函数体具体实现:

代码如下:

void CMFCApplicationExampleDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)  //nSBCode为消息码,nPos为滚动条当前位置
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    int pos = m_HScrollBar.GetScrollPos();
    switch (nSBCode)
    {
        case SB_LINELEFT:   //向左滚动一行
            pos -= 1;
            break;
        case SB_LINERIGHT: //向右滚动一行
            pos += 1;
            break;
        case SB_PAGELEFT:  //向左滚动一页
            pos -= 10;
            break;
        case SB_PAGERIGHT:  //向右滚动一页
            pos += 10;
            break;
        case SB_LEFT:  //滑块在最左端
            pos = 0;
            break;
        case SB_RIGHT:  //滑块在最右端
            pos = 100;
            break;
        case SB_THUMBPOSITION: //滑块当前位置
            pos = nPos;
            break;
        default:
            SetDlgItemInt(IDC_HSCROLL_EDIT, pos); //设置编辑框的值为当前滑块位置的值
    }
    m_HScrollBar.SetScrollPos(pos); //设置滚动条的位置
    CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}
3. 编译运行,滚动条简单实例创建完成.

你可能感兴趣的:(MFC 滚动条控件简单实例)