ListView读取多行或跳行
用ListView怎么读取所选择的几行,或是跳选的几行的数据。如图:
[ 本帖最后由 gogo023 于 2009-2-24 17:06 编辑 ] 怎么还没有人帮我解决啊?
三恨兄快来吧。。。。。。
:face (18): 历遍 获取选中状态 原帖由 sxd 于 2009-2-23 22:54 发表 http://www.autoitx.com/images/common/back.gif
历遍 获取选中状态
重要的是例子,或是什么函数语句。 _GUICtrlListView_GetSelectedIndices可以吗? 哪里这么麻烦
_GUICtrlListView_GetSelectedIndices就OK
回复 5# cnsnc 的帖子
不行,不行。:face (2): ....................
_GUICtrlListView_GetSelectedIndices返回的是带分隔符"|"的字符串,分成数组后用
_GUICtrlListView_GetItemText等读取就可以了
如果是标准的SysListView32控件,那就不该有问题 嗯 没看到_GUICtrlListView_GetSelectedIndices
如果楼主说不行 把程序放出来 看看 有环境才好测试
btw:我倒觉得思路比例子更重要 至少在我自己遇到问题的时候是这样的
相关代码
希望各位能给出一个能读取多行,或跳行的方法。最好能使用 For...To.
如果不能也没关系。
等待中。。。
:face (31):
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("网吧计算机IP列表", 365, 209, 280, 260)
GUISetFont(9, 400, 0, "宋体")
$ListView1 = GUICtrlCreateListView("计算机名|IP地址|MAC地址", 0, 8, 361, 153, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
GUICtrlSendMsg(-1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES,$LVS_EX_GRIDLINES) ;列表里的线
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 120)
GUICtrlSetBkColor(-1, 0xA6CAF0)
$ListView1_0 = GUICtrlCreateListViewItem("1|192.168.1.1|00:1C:25:08:06:CA", $ListView1)
$ListView1_1 = GUICtrlCreateListViewItem("2|192.168.1.2|00:1C:25:08:5E:4E", $ListView1)
$ListView1_2 = GUICtrlCreateListViewItem("3|192.168.1.3|00:1C:25:08:5E:4F", $ListView1)
$ListView1_3 = GUICtrlCreateListViewItem("4|192.168.1.4|00:1C:25:08:8E:4E", $ListView1)
$ListView1_4 = GUICtrlCreateListViewItem("5|192.168.1.5|00:1C:25:08:5E:DC", $ListView1)
$ListView1_5 = GUICtrlCreateListViewItem("6|192.168.1.6|00:1C:25:07:54:FF", $ListView1)
$ListView1_6 = GUICtrlCreateListViewItem("7|192.168.1.7|00:1C:25:6C:96:AE", $ListView1)
$ListView1_7 = GUICtrlCreateListViewItem("8|192.168.1.8|00:1C:25:6C:97:28", $ListView1)
$Button1 = GUICtrlCreateButton("读取", 280, 176, 75, 25, 0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
_GUICtrlListView_GetSelectedIndices 不是可以的么?
Case $Button1
$Selected = _GUICtrlListView_GetSelectedIndices($ListView1, 1)
For $I = 1 To $Selected
$SelectedItem = _GUICtrlListView_GetItemTextString($ListView1, $Selected[$I])
MsgBox(0, 0, $SelectedItem)
Next
OK
多谢,我用的是_GUICtrlListView_GetItemTextString($ListView, Number(_GUICtrlListView_GetSelectedIndices($ListView)))
难怪不行。。
还有就是我不怎么会用 FOR。。TO
呵呵。。 没注意问题已经解决,删了
[ 本帖最后由 cnsnc 于 2009-2-24 17:14 编辑 ] :face (26):学习了 不知道可否选择单个值??类似于表格的单元格???
页:
[1]
2