找回密码
 加入
搜索
查看: 5589|回复: 6

[AU3基础] [已解决]ListView双击无法显示资料

  [复制链接]
发表于 2011-9-26 19:57:16 | 显示全部楼层 |阅读模式
本帖最后由 jackywjl 于 2011-9-27 09:43 编辑

请教各位前辈,小弟找了一些前辈们的双击资料,写了一支程式测试,结果却无法显示双击后的资料,不知哪边出了问题,源码如下~~谢谢

#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#Include <Array.au3>
#Include <File.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 311, 442, 354, 130)
$Tab1 = GUICtrlCreateTab(8, 24, 289, 409)
$tab0 = GUICtrlCreateTabItem("tab1")
$ListView1 = GUICtrlCreateListView("", 8, 43, 289, 390)
_GUICtrlListView_AddColumn($ListView1, "ID", 90, 2)
_GUICtrlListView_AddColumn($ListView1, "NAME", 60, 2)
GUICtrlCreateListViewItem("1" & "|" & "2" , $ListView1)
$tab2 = GUICtrlCreateTabItem("tab2")
$ListView2 = GUICtrlCreateListView("", 8, 43, 289, 390)
_GUICtrlListView_AddColumn($ListView2, "test1", 90, 2)
_GUICtrlListView_AddColumn($ListView2, "test2", 90, 2)
GUICtrlCreateListViewItem("3" & "|" & "4" , $ListView2)
GUICtrlCreateTabItem("")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit


        EndSwitch
WEnd


Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
        Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo ,$Menu

        $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
        $hWndFrom = DllStructGetData($tNMHDR, 2)
        $iCode = DllStructGetData($tNMHDR, 3)
        Switch $hWndFrom
                Case $ListView1
                        Switch $iCode
                                Case $NM_DBLCLK ; 响应 List1 范围内的双击
                                        $Index = _GUICtrlListView_GetSelectedIndices($ListView1)
                                        If $Index <> "" Then
                                                $L_Name = _GUICtrlListView_GetItemText($ListView1,$Index)
                                                MsgBox(0,"响应双击","你选择的是  "&$L_Name)
                                        EndIf
                                                                        EndSwitch
                                Case $ListView2
                        Switch $iCode
                                Case $NM_DBLCLK ; 响应 List1 范围内的双击
                                        $Index = _GUICtrlListView_GetSelectedIndices($ListView2)
                                        If $Index <> "" Then
                                                $L_Name = _GUICtrlListView_GetItemText($ListView2,$Index)
                                                MsgBox(0,"响应双击","你选择的是  "&$L_Name)
                                        EndIf
                        EndSwitch
                EndSwitch
        Return $GUI_RUNDEFMSG
EndFunc
发表于 2011-9-27 02:16:07 | 显示全部楼层
回复 1# jackywjl

 $L_Name = _GUICtrlListView_GetItemText($ListView1,Number($Index))


$Index 换成 数字型
 楼主| 发表于 2011-9-27 09:42:23 | 显示全部楼层
感谢haodd大大,解决困扰我好久的问题~~感恩
发表于 2014-4-2 20:10:45 | 显示全部楼层
WIN7下双击没反应,不知道怎么修改。
发表于 2014-10-4 09:26:40 | 显示全部楼层
回复 4# damoo

#PRE_UseX64=n
64位吧?注明即可
发表于 2014-11-27 17:36:58 | 显示全部楼层
无法获取到数据吧。
发表于 2015-1-29 23:06:36 | 显示全部楼层
正好需要顶起
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 14:13 , Processed in 0.133437 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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