滑块是Windows中最常用的控件之一. 一般来说,它由一个滑块,一个滑块和一个可选刻度组成. 用户可以通过移动滑块在相应的控件中显示相应的值. 通常,滑动控件附近必须有一个标签控件或一个编辑框控件才能显示相应的值. 滑动控件广泛用于应用程序中,如您在桌面属性中所见. 为此,让我们看一下它的实现方法.
(1)在VC ++ 2008中创建一个新的对话框文档项目.
(2)打开资源管理器,在对话框中放置一个EDIT控件,然后在其旁边放置一个Slider控件. 基本框架已经完成.
(3)右键单击Slider控件,选择“创建类向导”,并立即为Slider控件定义一个类型为SliderCtrl的m_Slider.
(4)在对话框初始化代码BOOL CMyTestDlg :: OnInitDialog()中,添加相应的属性.
以下是常用的属性设置功能:
* 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函数
用于查询和设置按向右或向左箭头时滑块的移动量slider控件滑动,默认值为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);
//对话框类初始化 BOOL CMyTestDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 m_Slider.SetRange(-100,100); m_Slider.SetPos(-21); m_Slider.SetTicFreq(10);//需要在slider控件属性栏中,将Auto ticks, Tick Marks两项设为True
//m_Slider.EnableWindow(FALSE);//初始化Slider空间无效 return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE }
也就是说,设置范围是-100到100,初始位置是-21,刻度是每10个单位一个.
(5)现在,我们添加事件过程代码.
选择Slider的“事件”,然后选择第一个进程(NM_CUSTOMDRAW),然后添加以下代码:
void CMyTestDlg::OnNMCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) { UpdateData(TRUE); m_Int=m_Slider.GetPos(); UpdateData(FALSE); // *pResult = 0; }
其中m_Int是INT类型的变量slider控件滑动,用于定义EDIT控件. 到目前为止,我们的编辑工作已经结束.
(6)尝试编译并运行程序. 滑块控件非常方便.
原始文本来自:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-257977-1.html
人家已经出发了
股市跳水