c++,mfc滑动块SLIDER不能滑动到0值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++,mfc滑动块SLIDER不能滑动到0值相关的知识,希望对你有一定的参考价值。

如图,最下面那个滑块IDC_SLIDER_SPEED的范围设置成:m_speed.SetRange(0,10);
在OnHScroll中用if判断响应的
但是运行之后值滑块不能滑到0对应的位置
----------------------------------------------------
我把范围改成(-1,10)从最左第一个直接跳到左数第三个位置,就是不能在0上,从左数3往左边滑还是话不过,请问这是怎么回事?

参考技术A 滑块位置是整型数。
你的速度用到小数,所以你要建一个速度和位置的比例关系的算式,
int min_pos,max_pos;
float min_speed, max_speed;
表达式里用float 型计算,换成位置再化成整型。这样就能对应起来。
参考技术B 它的位置已经改过以后才到OnHScroll中追问

这个我知道,点击左键拖着滑块滑动,就是不到0的位置,其他位置滑块都能停,就是死托滑块拖不到最左边,我的意思你懂伐?

追答

可不可以看看你的OnHScroll代码和所有关于m_speed的代码
要不HI我吧

本回答被提问者采纳

Unity用Slider实现滑动确认/解锁

参考技术A 项目中有个需求,是需要玩家滑动解锁,增加二次确认难度防止玩家误操作的一个功能,就如同iphone滑动解锁一样

我的做法 是直接采用Unity自带的Slider来实现,大概原理就是滑动handle到slider的maxvalue.然后做一些列操作

但是策划不想要这么生硬的拉扯,想做个松开按钮,如果滑动条值没有满自动缩回去的一个动画效果,和iphone一样

由于自带的slider 没有提供松开鼠标的一些事件用来监听,但是F12进入可以看到

既然有down 肯定有up,再f12父类

所以 自己扩展一个uislider组件,继承Slider

其中m_Value,看源码可知道 就是我们slider的value

扩展一个onvaluechangeend事件,去实现他即可

扩展下,策划虽然没有说给文字说什么动态效果,但是自己根据iphone的解锁,做了个类似呼吸灯的效果,原理也很简单,使用dotween ,对canvasgroup的扩展,动态改变alpha就行,或者改变文本颜色的透明通道也行

以上是关于c++,mfc滑动块SLIDER不能滑动到0值的主要内容,如果未能解决你的问题,请参考以下文章

关于MFC中Slider(滑动)控件的使用

关于MFC中Slider(滑动)控件的使用

Jquery slider范围滑块,为两个滑块设置不同的setp值

Slider

MFC slider可以设置为(0,1)范围吗?对应的text可以显示带%的数字吗?

[UE4]Slider