MFC/VC中怎样实现slider滑块控件鼠标点击那里,就刚好落到点击位置

本文介绍了如何在MFC/VC环境中让Slider Control在鼠标点击时,滑块能精确移动到点击的位置,以达到类似播放器进度条的效果。作者尝试了重载控件和使用第三方库CBitmapSlider,并提供了具体的代码实现。
摘要由CSDN通过智能技术生成

想要让Slider Control实现在鼠标点击到哪, 滑动就移动到哪的效果,就像播放器的进度条和音量那样

正常的Slider Control点击时,只会移动一个固定的距离长度


于是想到了重载该类,自己实现该功能

网上搜到的一篇文章

http://blog.csdn.net/shen_wei/article/details/6692458

但这样还是有问题,

1. 想要拉动滑块时,用鼠标不好拿到滑块(可能鼠标单击时,直接响应到重载的LButtonDown函数去了)

2.在鼠标点击Slider快到最右边的时候,会直接跳到末端,非常诡异,找不到原因(这种情况网上也有人问,但我找不到那个网页了)


想了很多办法后,感觉这样子实现起来肯定不行

然后去codeproject上找现成的控件,也是费了好长时间才找到

CBitmapSlider

http://www.codeproject.com/Articles/4850/CBitmapSlider

 

以上是位图滑块代码下载地址,下面是才是主题:

首先自己写一个MySlider类。。该类继承 CSliderCtrl类。。

MySlider类响应LButtonDown消息来实现鼠标单击定位。。。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值