最近用MFC写了个音乐播放器,在做通过鼠标点击CSLiderCtrl来控制滑块,调节音量大小的功能,这种效果很容易想象。刚开始学MFC,第一次使用CSLiderCtrl控件,对这个控件不是非常熟,自带的功能里没有找到能满足我需求的,所以自己捉摸了这个方法,跟大家分享下。
以CSliderCtrl为基类派生出一个新类,我命名为CVolSliderCtrl,添加左击消息响应
void CVolSliderCtrl::OnLButtonDown(UINT nFlags, CPoint point)
需要搞清楚两个概念:1.CPoint point 传递的值是相对于CSliderCtrl控件左上角的点的坐标。需要注意的是point.x的起点不是控件的滑动槽为0的地方,而是控件最左边。2.CSliderCtrl的中成员函数有关设置控件滑动槽的范围,或滑块的位置(在MSDN中一般用position表示),我暂且说成是“单位”,并且滑动槽的单位是可以设置的。
先设置滑动槽的range,我音量是256个单位,为了方便我将滑动槽也划分成256个单位,单位划分越多,越细致,滑块的误差就越小,我的滑动槽不大,256个就够了。调用如下两个成员函数,进行初始化。<