sliderctrl的联动问题

sl19831983 2010-04-06 11:21:06
我界面上有两个或多个sliderctrl,我想实现其联动,也就是我用鼠标拖动slider1的时候,slider2的当前值也需改变,2个slider所变化的值是一样的,望达人指点指点
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-04-15
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
向立天 2010-04-07
  • 打赏
  • 举报
回复
一样吧
发消息的时候按要求调整一下参数就好了
sl19831983 2010-04-07
  • 打赏
  • 举报
回复
谢谢上面两位的答复。


是这样一个情况哈,上面描述得不够清楚。比如Slider1 和slider2的范围都1--100,slider1的当前值是20,slider2的当前值是40,现在我拖动slder1,设置其值为60,那么联动的情况下slider2的值就应该是80,他们所改变的值是一样的。
向立天 2010-04-07
  • 打赏
  • 举报
回复
用一个变量nPrePos保存上一次Slider1的值
然后在Slider1拖动的消息里获取到Slider1的当前值nCurPos
nOffset=nCurPos-nPrePos;
nPrePos=nCurPos;
如果你有Slider2的指针
获取Slider2的当前值
然后加上便宜量nOffset在设置一下
大概思路就是这样
你可以试一下
sl19831983 2010-04-07
  • 打赏
  • 举报
回复
可以得到slider2呀,但是有可能slider2的当前值与slider1的不一样啊,所以不能直接把slider1的当前值设给slider2,就像我上面举的那个例子:

“Slider1 和slider2的范围都1--100,slider1的当前值是20,slider2的当前值是40,现在我拖动slder1,设置其值为60,那么联动的情况下slider2的值就应该是80”

在slider1移动的时候我并不知道slider2与slider1的差值多少呢,所以不知道给slider2设多少呀
向立天 2010-04-07
  • 打赏
  • 举报
回复
你可以得到slider2么?
如果可以在移动slider1的时候直接设置就好了
sl19831983 2010-04-07
  • 打赏
  • 举报
回复
slider的消息响应都是在OnHScroll中的啊,这个该消息怎么发呢,

我在想一个变通的方法,就是当鼠标按下的时候我获取到Slder1和slider2的当前值,鼠标释放的时候再次取silder1的值,取得其变化了多少,然后再来设置silder2的当前值,但silder捕获不到鼠标单击事件呢。
向立天 2010-04-06
  • 打赏
  • 举报
回复
拖动slider1给slider2发相应的消息就好了
把slider1当前的参数带上
Eleven 2010-04-06
  • 打赏
  • 举报
回复
你响应slider1的消息响应函数里直接操作其他的slider的指针即可。。。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧