我界面上有两个或多个sliderctrl,我想实现其联动,也就是我用鼠标拖动slider1的时候,slider2的当前值也需改变,2个slider所变化的值是一样的,望达人指点指点

解决方案 »

  1.   

    拖动slider1给slider2发相应的消息就好了
    把slider1当前的参数带上
      

  2.   

    你响应slider1的消息响应函数里直接操作其他的slider的指针即可
      

  3.   

    谢谢上面两位的答复。
    是这样一个情况哈,上面描述得不够清楚。比如Slider1 和slider2的范围都1--100,slider1的当前值是20,slider2的当前值是40,现在我拖动slder1,设置其值为60,那么联动的情况下slider2的值就应该是80,他们所改变的值是一样的。
      

  4.   

    slider的消息响应都是在OnHScroll中的啊,这个该消息怎么发呢,我在想一个变通的方法,就是当鼠标按下的时候我获取到Slder1和slider2的当前值,鼠标释放的时候再次取silder1的值,取得其变化了多少,然后再来设置silder2的当前值,但silder捕获不到鼠标单击事件呢。
      

  5.   

    你可以得到slider2么?
    如果可以在移动slider1的时候直接设置就好了
      

  6.   

    可以得到slider2呀,但是有可能slider2的当前值与slider1的不一样啊,所以不能直接把slider1的当前值设给slider2,就像我上面举的那个例子:  “Slider1 和slider2的范围都1--100,slider1的当前值是20,slider2的当前值是40,现在我拖动slder1,设置其值为60,那么联动的情况下slider2的值就应该是80”在slider1移动的时候我并不知道slider2与slider1的差值多少呢,所以不知道给slider2设多少呀
      

  7.   

    用一个变量nPrePos保存上一次Slider1的值
    然后在Slider1拖动的消息里获取到Slider1的当前值nCurPos
    nOffset=nCurPos-nPrePos;
    nPrePos=nCurPos;
    如果你有Slider2的指针
    获取Slider2的当前值
    然后加上便宜量nOffset在设置一下
    大概思路就是这样
    你可以试一下