闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

MFC控件介绍之slider篇

2011-05-05 约 1 分钟读完 搬砖秘籍

又是一次计算机图形学实习,实习中想实现一个效果,我要绘图,想要设置线的宽度,就像Photoshop那样。看了看MFC中有现成的控件可以使用——slider控件,用MSDN查了一下,又是狗日的英文,求助baidu和Google吧,查找了一些资料,加上我那超人的理解变通能力(吹个小牛),没有费什么功夫就搞定了,不过许多函数感觉会用到,今天就做个mark,以便后用!

STEP 1 手动添加控件,并添加相关变量

这个不用我来说了吧,就那点手工活。

STEP 2 在OnInitDialog中初始化

VS2008和VS2005可能没有这个函数,需要手动添加,如果你不会添加,看看这里吧。

一般初始化就是设置控件的范围之类的。

示例如下

BOOL C1BCDlg::OnInitDialog(void)

{

CDialog::OnInitDialog();

m_sliderCtr.SetRange(0,20);

return 0;

}

STEP 3 其他常用函数笔记

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 );