awfymwvf 发表于 2009-12-29 14:29:21

如何响应ITEM的点击?

本帖最后由 awfymwvf 于 2009-12-30 09:48 编辑

比如下面这个图:
http://bbs.skyun.org/attachments/month_0912/09122821268aa49a53d726d54a.jpg

我想在点击E盘这一行ITEM的时候。在一个文本框中或一个COMBO中输出这个ITEM的内容。比如我现在点E盘了。在文本框中显示E:,这个功能要怎么实现啊?谢谢大家了

landays 发表于 2009-12-29 14:54:28

搜索 listview 击
http://www.autoitx.com/forum.php?mod=viewthread&tid=6100&highlight=list

awfymwvf 发表于 2009-12-30 09:48:29

谢谢landays ,问题已在你的指导下解决了

sanmoking 发表于 2009-12-30 15:43:25

本帖最后由 sanmoking 于 2010-1-2 02:40 编辑

不要用鼠标点击.......用检测更有效....
因为有的时候不是用鼠标来确定选择的条目.用上下箭头也能进行选择,这样你用点击来识别就不能用了不是.....

给你个例子..

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 228, 226, 192, 124)
$ListView = GUICtrlCreateListView("#|用户|代码", 8, 8, 209, 137)
For $i = 1 To 10      
      GUICtrlCreateListViewItem ($i&"|"&"user"&$i&"|"&Random(1000000,9999999,1),$listview)
Next      
$Input1 = GUICtrlCreateInput("用户", 8, 152, 129, 21)
$Input2 = GUICtrlCreateInput("代码", 8, 184, 129, 21)
GUISetState(@SW_SHOW)
$shanchuidold = ""
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
      EndSwitch
      $shanchuid = ControlListView ($Form1, "", "SysListView321", "GetSelected", 0)
;       $mac1 = ControlListView ($Form1, "", "SysListView321", "GetText", $shanchuid, 1)
;       $mac2 = ControlListView ($Form1, "", "SysListView321", "GetText", $shanchuid, 2)      
      if $shanchuid = "" and $shanchuid <> $shanchuidoldThen
      GUICtrlSetData($Input2,"")
      GUICtrlSetData($Input1,"")      
      ElseIf $shanchuid <> "" and $shanchuid <> $shanchuidold then
      $mac1 = ControlListView ($Form1, "", "SysListView321", "GetText", $shanchuid, 1)   ;放在这又会省下一点资源咯
      $mac2 = ControlListView ($Form1, "", "SysListView321", "GetText", $shanchuid, 2)   
                GUICtrlSetData($Input2,$mac2)
                GUICtrlSetData($Input1,$mac1)               
      EndIf      
      $shanchuidold = $shanchuid
WEnd

大概是这样子的,

sanmoking 发表于 2009-12-30 15:45:05

回复 3# awfymwvf


    哈哈 谁给个花吧?

wwwwffff 发表于 2010-1-2 02:27:49

不要用鼠标点击.......用检测更有效....
因为有的时候不是用鼠标来确定选择的条目.用上下箭头也能进行选择 ...
sanmoking 发表于 2009-12-30 15:43 http://www.autoitx.com/images/common/back.gif


不错!
不过会不会很耗资源?

sanmoking 发表于 2010-1-2 02:39:00

不错!
不过会不会很耗资源?
wwwwffff 发表于 2010-1-2 02:27 http://www.autoitx.com/images/common/back.gif


    不会,因为有if来识别所选的条目是否变动。。。。只有你所选的条目有变动的话,才会更新input的文字。。。

多加一句ControlListView ($Form1, "", "SysListView321", "GetSelected", 0)不会占多大资源的。。

awfymwvf 发表于 2010-1-3 09:00:43

收藏一下。以后备用。谢谢大家了

yangyunbo 发表于 2012-1-2 21:49:50

感谢分享!
页: [1]
查看完整版本: 如何响应ITEM的点击?