找回密码  加入

AUTOIT CN

搜索
查看: 5721|回复: 16

[原创] Slider(滑动条)实时显示例子

[复制链接]
发表于 2011-6-4 09:30:24 | 显示全部楼层 |阅读模式
本帖最后由 风行者 于 2011-6-4 09:33 编辑

刚好用到,搜索论坛居然没搜到相关例子,后来查msdn解决
方便以后查看,需要的就拿去吧,代码如下:


Global Const $WM_HSCROLL = 0x0114
$Form1 = GUICreate("滑动条实时显示", 314, 120, 192, 124)
$Label1 = GUICtrlCreateLabel("当前数值:50", 16, 24, 131, 28)
GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Slider1 = GUICtrlCreateSlider(8, 72, 297, 33)
GUICtrlSetLimit(-1,100,0)
GUICtrlSetData(-1,50)
GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
GUISetState()

Do
Until GUIGetMsg()=-3

Func WM_HSCROLL($Hwnd, $iMsg, $Wparam, $iLparam)
        $nNotifyCode = BitShift($Wparam, 16)  ;高位为控件标识
        $nID = BitAND($Wparam, 0x000FFFF)   ;低位为数值
        Switch $nID
                Case $Slider1
                        GUICtrlSetData($Label1, "当前数值:" &$nNotifyCode)
        EndSwitch
EndFunc   ;==>WM_HSCROLL

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
发表于 2011-6-4 10:22:51 | 显示全部楼层
我先收下了..以后应该用的着...谢谢楼主提供了
发表于 2011-6-4 12:20:38 | 显示全部楼层
貌似没有按住时实时显示、点刻度尺也没变化~ 稍稍改了下
  1. Global Const $WM_HSCROLL = 0x0114

  2. GUICreate("滑动条实时显示", 314, 120)
  3. $Label1 = GUICtrlCreateLabel('50', 16, 24, 131, 28)
  4. GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
  5. GUICtrlSetColor(-1, 0xFF0000)
  6. $Slider1 = GUICtrlCreateSlider(8, 72, 297, 33)
  7. GUICtrlSetLimit(-1, 100, 0)
  8. $vS = 50
  9. GUICtrlSetData(-1, $vS)

  10. GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
  11. GUISetState()

  12. Do
  13. Until GUIGetMsg() = -3

  14. Func WM_HSCROLL($Hwnd, $iMsg, $Wparam, $iLparam)
  15.         Switch BitAND($Wparam, 0x000FFFF)
  16.                 Case 5
  17.                         $vS = BitShift($Wparam, 16)
  18.                         GUICtrlSetData($Label1, $vS)
  19.                 Case 2, 3
  20.                         GUICtrlSetData($Label1, GUICtrlRead($Slider1))
  21.         EndSwitch
  22. EndFunc   ;==>WM_HSCROLL
复制代码

评分

1

查看全部评分

发表于 2011-6-4 13:05:59 | 显示全部楼层
学习了,谢谢lz分享
发表于 2011-6-4 14:11:21 | 显示全部楼层
楼主是缘鸟的管理员把
发表于 2011-6-13 14:42:29 | 显示全部楼层
在官网有,不过不太好搜索,感谢AFAN提供的例子
发表于 2011-6-13 16:37:56 | 显示全部楼层
向楼主源码精神致敬
发表于 2011-6-16 01:14:43 | 显示全部楼层
路过留名,以后备用,如果能把两者功能合一就更强大了
发表于 2011-9-19 13:30:05 | 显示全部楼层
楼主的确实有些问题:不是实时显示, 只有拖动停止后才会显示.
afan 大侠的虽然实时显示了, 但是并没有判断是哪个Slider控件的消息, 这样如果一个界面有多个Slider控件, 就会出问题.
正好我用到这个, 顺便把我改动后的发出来.

  1. Global Const $WM_HSCROLL = 0x0114
  2. Global $Slider[2], $hSlider[2], $Label[2]

  3. GUICreate('滑动条实时显示', 350, 120)

  4. $Slider[0] = GUICtrlCreateSlider(8, 20, 297, 33)
  5. $hSlider[0] = GUICtrlGetHandle(-1)
  6. GUICtrlSetLimit(-1, 100, 0)
  7. $Label[0] = GUICtrlCreateLabel('0', 313, 24, 100, 28)
  8. GUICtrlSetFont(-1, 16, 800)

  9. $Slider[1] = GUICtrlCreateSlider(8, 72, 297, 33)
  10. $hSlider[1] = GUICtrlGetHandle(-1)
  11. GUICtrlSetLimit(-1, 100, 0)
  12. $Label[1] = GUICtrlCreateLabel('0', 313, 75, 100, 28)
  13. GUICtrlSetFont(-1, 16, 800)

  14. GUIRegisterMsg($WM_HSCROLL, 'WM_HSCROLL')
  15. GUISetState()

  16. Do
  17. Until GUIGetMsg() = -3

  18. Func WM_HSCROLL($Hwnd, $Msg, $Wparam, $Lparam)
  19.         Switch $Lparam
  20.                 Case $hSlider[0]
  21.                         GUICtrlSetData($Label[0], GUICtrlRead($Slider[0]))
  22.                 Case $hSlider[1]
  23.                         GUICtrlSetData($Label[1], GUICtrlRead($Slider[1]))
  24.         EndSwitch
  25. EndFunc   ;==>WM_HSCROLL
复制代码

评分

1

查看全部评分

发表于 2011-12-8 11:15:01 | 显示全部楼层
受教了 看了你们的代码 又让我学到了window消息
发表于 2011-12-9 08:56:02 | 显示全部楼层
学习一下,论坛越发的好
发表于 2011-12-18 11:55:54 | 显示全部楼层
先收下了,很好的例子!
发表于 2012-2-20 15:13:36 | 显示全部楼层
呵收藏着了,不错的东西
发表于 2012-3-24 15:41:32 | 显示全部楼层
利害啊!!!学习了
发表于 2017-10-7 21:19:32 | 显示全部楼层
谢谢共享,支持楼主
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2018-10-17 13:06 , Processed in 0.105528 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表