搜到的最正确的一个用法,记录下来,有点错误,顺便改改,目前的项目用到slider control,以防万一。
在MFC中滑动条(CSliderCtrl)基本用法如下:
1、设置、取得滑动范围:
void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE );
void GetRange( int& nMin, int& nMax ) const;
2、设置、取得按下左右箭头滑动间隔:
int SetLineSize( int nSize );
int GetLineSize( ) const;
3、设置、取得按下PgUp、PgDown时滑动间隔:
int SetPageSize( int nSize );
int GetPageSize( ) const;
4、设置、取得滑块位置:
void SetPos( int nPos );
int GetPos( ) const;
5、设置滑动条刻度的频度:
void SetTicFreq( int nFreq );
实例:
在对话框中放一个Slider控件,添加相应的Ctrl型变量为m_slider。在对话框初始化函数OnInitDialog()中添加:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_slider.SetRang(0, 100);//设置滑动范围
m_slider.SetTicFreq(1);//每1个单位画一刻度
return TRUE; // return TRUE unless you set the focus to a control
}
int m_int;
void CMyDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CSliderCtrl *pSlidCtrl = (CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
m_int = pSlidCtrl->GetPos();//取得当前位置值
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}
//m_int 即为当前滑块的值。