MFC滚动条的设计

1 类似于下图所示,这是滚动条控件,应该定义成 CSliderCtrl m_SliderVolume; 

即定义成CSliderCtrl的变量;

CSliderCtrl m_SliderVolume;

m_SliderVolume.SetRange(0,100);//设置控件中滑块的滑动范围;

m_SliderVolume.SetPos(10);//设置滑块的数值;

m_SliderVolume.GetPos();//获取滑块的位置数值;

2 而如果是滑块,如窗口上的滑块,则要定义成CScrollBar类型的控件变量;


CScrollBar m_horiScrollbar;

    // 设置水平滚动条的滚动范围为1到100  
    m_horiScrollbar.SetScrollRange(1, 100);  
    // 设置水平滚动条的初始位置为20  
    m_horiScrollbar.SetScrollPos(20);  
    // 在编辑框中显示20
int pos = m_horiScrollbar.GetScrollPos();    // 获取水平滚动条当前位置


在MFC中有多个slider时OnHScroll函数判断方法

在OnHScroll开始时添加几个CWnd*变量,在和参数中pScrollBar判断就可以了

void CPlayerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default

CWnd *pSliderPos = this->GetDlgItem(IDC_SLIDER_POS);
CWnd *pSliderVolume = this->GetDlgItem(IDC_SLIDER_VOLUME);
if (pScrollBar == pSliderVolume)
{
     。。。 。。。

}
if (pScrollBar == pSliderPos)
{
    。。。 。。。

}

CBitmapDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

 

  

 

 

 

 

 

 

你可能感兴趣的:(MFC滚动条的设计)