找回密码
 加入
搜索
查看: 3647|回复: 4

[AU3基础] 实现双击listbox项目【已解决】

[复制链接]
发表于 2013-12-9 13:32:10 | 显示全部楼层 |阅读模式
本帖最后由 9988660000 于 2013-12-9 13:38 编辑

最近一段时间,一直在搜索listbox的双击项目的操作。
搜索了很久,搜索到的大多是listview的双击操作,今天偶然的机会搜到。不敢私存,贡献给大家。
有明白的给注释一下
整理后,如下:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>

GUICreate("My GUI list")
$add = GUICtrlCreateButton("Add", 64, 32, 75, 25)
$clear = GUICtrlCreateButton("Clear", 64, 72, 75, 25)
$mylist = GUICtrlCreateList("", 176, 32, 200, 200,BitOR($WS_VSCROLL, $WS_HSCROLL))
GUICtrlSetLimit(-1, 300)
GUISetState()
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND");注册一个消息
While 1
        $msg = GUIGetMsg()
        Switch $msg
                Case -3
                        Exit
                Case $add
                        GUICtrlSetData($mylist, "You clicked button No1-You clicked button No1|")
                Case $clear
                        GUICtrlSetData($mylist, "")
                               
        EndSwitch
        WEnd
       


Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    $iIDFrom = BitAND($wParam, 0xFFFF) ;;这句什么意思?
    $iCode = BitShift($wParam, 16) ;;???
    Switch $iCode
       Case $LBN_DBLCLK ;;双击操作
        Switch $iIDFrom
                        Case $mylist
                                MsgBox(0,0, "2")
         EndSwitch
     EndSwitch
EndFunc
发表于 2014-1-27 18:41:13 | 显示全部楼层
$iIDFrom = BitAND($wParam, 0xFFFF) ;;取 $wParam 低16位(二进制)
$iCode = BitShift($wParam, 16) ;;将 $wParam 右移16位(二进制)

上面两句就是把  $wParam 这个变量值,切成两部分。
$iIDFrom 变量存储 $wParam 低16位值。
$iCode 变量存储 $wParam 其余部分值。
发表于 2015-3-7 09:01:40 | 显示全部楼层
学习学习。。。。
发表于 2015-5-18 11:18:00 | 显示全部楼层
thanks 4 sharing!
发表于 2019-6-28 23:19:52 | 显示全部楼层
不错的构思,学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 10:19 , Processed in 0.069504 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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