鼠标精确控制CSliderCtrl控件的滑块

本文介绍了如何在MFC应用中通过派生CSliderCtrl并处理鼠标点击事件,实现精确控制音量调节的功能。通过设置滑动槽范围和转换鼠标点击坐标到滑块位置,实现滑动误差最小化。代码示例展示了如何响应鼠标点击并设置音量。
摘要由CSDN通过智能技术生成

      最近用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个就够了。调用如下两个成员函数,进行初始化。<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值