找回密码
 加入
搜索
查看: 10602|回复: 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

本帖子中包含更多资源

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

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

GUICreate("滑动条实时显示", 314, 120)
$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)
$vS = 50
GUICtrlSetData(-1, $vS)

GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
GUISetState()

Do
Until GUIGetMsg() = -3

Func WM_HSCROLL($Hwnd, $iMsg, $Wparam, $iLparam)
        Switch BitAND($Wparam, 0x000FFFF)
                Case 5
                        $vS = BitShift($Wparam, 16)
                        GUICtrlSetData($Label1, $vS)
                Case 2, 3
                        GUICtrlSetData($Label1, GUICtrlRead($Slider1))
        EndSwitch
EndFunc   ;==>WM_HSCROLL

评分

参与人数 1金钱 +20 收起 理由
风行者 + 20 没有仔细测试,多谢修改!

查看全部评分

发表于 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控件, 就会出问题.
正好我用到这个, 顺便把我改动后的发出来.
Global Const $WM_HSCROLL = 0x0114
Global $Slider[2], $hSlider[2], $Label[2]

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

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

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

GUIRegisterMsg($WM_HSCROLL, 'WM_HSCROLL')
GUISetState()

Do
Until GUIGetMsg() = -3

Func WM_HSCROLL($Hwnd, $Msg, $Wparam, $Lparam)
        Switch $Lparam
                Case $hSlider[0]
                        GUICtrlSetData($Label[0], GUICtrlRead($Slider[0]))
                Case $hSlider[1]
                        GUICtrlSetData($Label[1], GUICtrlRead($Slider[1]))
        EndSwitch
EndFunc   ;==>WM_HSCROLL

评分

参与人数 1贡献 +5 收起 理由
lynfr8 + 5

查看全部评分

发表于 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备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 03:49 , Processed in 0.091825 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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