找回密码
 加入
搜索
查看: 2474|回复: 9

怎么判断listviewitem是否被双击?

[复制链接]
发表于 2009-1-21 23:38:41 | 显示全部楼层 |阅读模式
双击左侧listview中的item,相应的item的值就会被传送到另一个listview里~~
如何实现呢?

[ 本帖最后由 binbin003 于 2009-1-22 00:53 编辑 ]
发表于 2009-1-22 00:01:27 | 显示全部楼层
是_GUICtrlListView_SortItems吗? OR _GUICtrlListView_ClickItem?

[ 本帖最后由 ceoguang 于 2009-1-22 00:10 编辑 ]
发表于 2009-1-22 00:16:56 | 显示全部楼层
帮助里找了一下,居然找不到双击的,用GUICtrlCreateContextMenu吧
发表于 2009-1-22 00:27:40 | 显示全部楼层
注册$wm_notify, 利用$nm_dblclk判断~
 楼主| 发表于 2009-1-22 00:46:16 | 显示全部楼层

回复 4# pusofalse 的帖子

刚才在论坛里看到dblclk的判断了,不过找不到了~~
能说详细点儿吗~~谢谢~

PS:时间不早了,早睡哈,呵呵
发表于 2009-1-22 00:49:50 | 显示全部楼层

回复 5# binbin003 的帖子

#include <GuiListView.au3>

Global const $nm_dblclk = -3
Global const $wm_Notify = 0x4e
$hGui = GuiCreate('ListView Test', 400, 600)

Local $lvsExStyle = BitOr($lvs_ex_fullrowselect, _
                        $lvs_ex_gridlines, _
                        $lvs_ex_doublebuffer)
Local $lvs1 = GuiCtrlCreateListView("List1|View|Test", 5, 5, 390, 260, $lvs_report, $lvsExStyle+0x200)
Local $lvs2 = GuiCtrlCreateListView("List2|View|Test", 5, 270, 390, 260, $lvs_report, $lvsExStyle+0x200)

For $d = 1 to 10
        $var = "lvs item " & $d
        $var &= "|" & $var & " - 1|" & $var & " - 2"
        GuiCtrlCreateListViewItem($var, $lvs1)
Next

For $d = 0 to 2
        _GuiCtrlListView_SetColumnWidth($lvs2, $d, 100)
Next

GuiRegisterMsg($wm_Notify, "_wmNotify")
GuiSetState()

Do
        $msg = GuiGetMsg()
Until        $msg = -3

Func _wmNotify($hWnd, $message, $wParam, $sParam)
        Local $tNmhdr, $hWndFrom, $code
        $tNmhdr = DLLStructCreate($tagNmhdr, $sParam)
        $hWndFrom = DLLStructGetData($tNmhdr, "hWndFrom")
        $code = DLLStructGetData($tNmhdr, "code")
        If $code = $nm_dblclk then
                If $hWndFrom = GuiCtrlGetHandle($lvs1) then
                        _GuiCtrlListView_CopyItems($lvs1, $lvs2, False)
                ElseIf $hWndFrom = GuiCtrlGetHandle($lvs2) then
                        _GuiCtrlListView_DeleteItemsSelected($hWndFrom)
                EndIf
        EndIf
        $tNmhdr = 0
EndFunc        ;==>_wmNotify()

评分

参与人数 1金钱 +3 收起 理由
ceoguang + 3 解决了我的另一问题,谢谢

查看全部评分

 楼主| 发表于 2009-1-22 00:51:58 | 显示全部楼层

回复 6# pusofalse 的帖子

太感谢了~~呵呵~~~
 楼主| 发表于 2009-1-22 00:53:39 | 显示全部楼层

回复 3# ceoguang 的帖子

谢了~~
发表于 2009-1-22 11:38:45 | 显示全部楼层
收下
发表于 2010-1-27 18:01:26 | 显示全部楼层
我也收下~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-7-1 11:29 , Processed in 0.090673 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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