基于VS2012的MFC中滑块控件(Slide Control)的使用

滑动控件是MFC中常用的控件之一。它由一个滑动条,一个滑块和可选刻度组成,用户可以通过移动滑块在相应的控件中显示对应的值。通常,在滑动控件附近一定有标签控件或编辑框控件,用于显示相应的值。接下来我们看看简单的用法:

1、在对话框添加一个slider滑动块控件,然后给该slider滑动块控件添加一个关联变量m_Slider,如下图所示:

基于VS2012的MFC中滑块控件(Slide Control)的使用_第1张图片

 2、初始化滑块,在对话框初始化程序里面,添加如下代码:

m_Slider.SetRange(0,20);//设置范围为0~20
m_Slider.SetPos(-1);    //设置当前值为-1
m_Slider.SetLineSize(1);//设置按下左/右箭头移动量为1个单位
m_Slider.SetTicFreq(1); //设置滑动条刻度的频度

3、将滑块数据显示到编辑框中,在【项目】-【类向导】-【消息】页面,找到消息事件函数WM_HSCROLL,双击出现在右边方框,再次双击右边方框OnHScroll函数,在弹出的消息事件函数里面,添加如下代码:

基于VS2012的MFC中滑块控件(Slide Control)的使用_第2张图片

void CClientADlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	UpdateData(TRUE);
	m_Speed = m_Slider.GetPos();//获得滑动块当前位置
	UpdateData(FALSE);
	CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}

其中m_Speed是编辑框的对应的double变量,整个使用过程完毕。

 最后附带Slide Control常用的设置属性函数:

*GetRange,SetRange函数 
用于查询和设置滑动条的取值范围,默认为0~100。函数定义形式如下: 
void GetRange(int &nMin,int &nMax) const; 
void SetRange(int nMin,int nMax,BOOL bRedrGETaw=FALSE);

*GetPos,SetPos函数 
用于查询和设置滑动条的当前值。函数定义形式如下: 
int GetPos() const; 
int SetPos(int nPos);

* GetLineSize,SetLineSize函数 
用于查询和设置在按一下右或左箭头时滑块的移动量,默认为1个单位。函数定义形式如下: 
int GetLineSize() const; 
int SetLineSize(int nSize);

*GetPageSize,SetPageSize函数 
用于查询和设置函滑块和块移动量,块移动量是指当按下PgUp或PgDown时滑块的移动量。函数定义形式如下: 
int GetPageSize() const; 
int SetPageSize(int nSize);

* SetTicFreq函数 
用于设置滑动条刻度的频度。默认为一个单位一个函数。函数定义形式如下: 
void SetTicFreq(int nFreq);

*SetTic函数 
用于在指定的位置设置刻度。Windows默认的刻度是均匀的。函数定义形式如下: 
BOOL SetTic(int nTic);

*ClearTics函数 
用于清除所有的刻度。函数定义形式如下: 
void ClearTics(BOOL bRedraw=FALSE);

我们在初始化时写入以下语句: m_Slider.SetRange(-100,100); 
m_Slider.SetTicFreq(10); 
即:设置范围为-100到100,刻度为每10个单位一个。

 

你可能感兴趣的:(C++)