您的位置:首页 > 其它

VS2010中slider的简单使用

2014-04-10 22:30 127 查看
本文为我的工程中的一小部分内容,结合网络上的资料,内容整理如下:

1.在对话框中放置一个“SliderControl”控件,和一个静态文本(“Static Text”)控件,静态文本控件用以显示slider在滑动时的位置信息。如下图所示:

 


2.右键点击slider控件,选择添加变量并给定一个变量名,例如,本文的变量名为B_value。

 

3.在OnInitDlg()中加入以下代码:

B_value.SetRange(0,255);//设置slider的范围

       B_value.SetTicFreq(1);//设置slider的刻度间隔,这里设置为1个单位一个刻度

       B_value.SetPos(0);//设置slider的值,这里把初始值设为0

 

4.修改静态文本框的ID,以方便后续设置文本内容,例如本文把它的ID改成:IDC_STATIC_B_status。

 

5.在slider的消息响应函数OnNMCustomdrawSliderB(NMHDR*pNMHDR, LRESULT *pResult)中,添加代码便可进行操作,如下。

void C_testDlg::OnNMCustomdrawSliderB(NMHDR*pNMHDR, LRESULT *pResult)

{

       LPNMCUSTOMDRAW pNMCD =reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);

       // TODO: 在此添加控件通知处理程序代码

       intpos=B_value.GetPos();//获取slider的当前位置

       CString str;//定义一个字符串变量

     str.Format(_T("%d"),pos);//把slider的当前位置pos转为字符,存放于str中。在有些文

//章中这句代码为:str.Format("%d",pos),但放到本文的项目中编

//译时报错,于是使用本条语句。

       SetDlgItemText(IDC_STATIC_B_status,str);//设置ID为IDC_STATIC_B_status的文本框的内容

       *pResult = 0;

}

 

 

以下为与Slider使用相关的函数:

1、设置、取得slider的范围:
void SetRange( int nMin, int nMax, BOOLbRedraw = FALSE ); 

void GetRange( int& nMin, int& nMax ) const;

2、设置、取得slider位置:
void SetPos( int nPos ); 

int GetPos( ) const;

 

3、设置slider刻度的频度:
 void SetTicFreq( int nFreq );

                                                                                                                                                                                                                     
                 Likan   2014-1-24
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: