[已解决]想获得listview控件的全部内容,但输出为什么是这样?
本帖最后由 superpangya 于 2010-4-13 08:17 编辑只是想让它控原来列表的形式显示,但是为什么输出的是叠加的效果?
附:原码与数据库
Case $Button8
;MsgBox(4160, "Information", "Item 5 Text: " & _GUICtrlListBox_GetText($ListView1,1))
lala()
EndSwitch
WEnd
;========================================================================================================================
Func lala()
Local $aItem, $sText,$text,$i,$a,$b
$a = _GUICtrlListView_GetItemCount($ListView1)
For $b = 0 To $a -1
$aItem = _GUICtrlListView_GetItemTextArray($ListView1, $b)
For $i = 2 To $aItem
$sText &= StringFormat("%s ", $aItem[$i])
Next
$text &=$stext& @CRLF
Next
MsgBox(4160, "Information", $text)
EndFunc 用链接模式干什么 函数使用错误。
应该用_GUICtrlListView_GetItemTextString($hListView, 1)吧 本帖最后由 superpangya 于 2010-4-10 19:17 编辑
回复 3# netegg
我也不知道啊,看见例子上这么用,我就搬过来了, 我现在想弄明白两个问题,一,用这种办法,怎么改可以把输出弄成理想状态,第二,正确的应该用什么代码?
(我刚刚学AU3,有些很基础的东西都不懂,但急着把这个做好,,有什么不懂的,还请大家帮帮忙了..) 回复 4# 3mile
呵呵,谢谢,我试试看. Func lala()
Local $aItem, $sText,$text,$i,$a,$b
$a = _GUICtrlListView_GetItemCount($ListView1)
For $b = 0 To $a -1
$aItem = _GUICtrlListView_GetItemTextArray($ListView1, $b)
For $i = 2 To $aItem
$sText = $sText &StringFormat("%s ", $aItem[$i])
Next
$stext =$stext& @CRLF
Next
MsgBox(4160, "Information", $stext)
EndFunc 回复 7# shqf
:face (7):弱弱的问一下,为什么输出是一排呢?
$stext =$stext& @CRLF这里后面加两个@CRLF也无济于事.... #include <GUIListView.au3>
#include <WindowsConstants.au3>
GUICreate("ListView", 320, 300)
$ListView1 = GUICtrlCreateListView("编号|姓名|ID", 1, 1, 318, 230, -1, _
BitOR($WS_EX_CLIENTEDGE, $LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT, $LVS_REPORT))
$anniu1 = GUICtrlCreateButton("获取全部文本", 100, 250, 100, 30)
_GUICtrlListView_SetColumnWidth($ListView1, 0, 50)
_GUICtrlListView_SetColumnWidth($ListView1, 1, 100)
_GUICtrlListView_SetColumnWidth($ListView1, 2, 100)
GUISetState(@SW_SHOW)
GUICtrlCreateListViewItem('1|张三|65786315', $ListView1)
GUICtrlCreateListViewItem('2|李四|56454688', $ListView1)
GUICtrlCreateListViewItem('3|王五|86575765', $ListView1)
GUICtrlCreateListViewItem('4|孙六|87654832', $ListView1)
GUICtrlCreateListViewItem('5|赵七|96325478', $ListView1)
GUICtrlCreateListViewItem('6|成八|64651873', $ListView1)
GUICtrlCreateListViewItem('7|冯九|96437251', $ListView1)
GUICtrlCreateListViewItem('8|钱十|64976835', $ListView1)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case - 3
Exit
Case $anniu1
Read()
EndSwitch
WEnd
Func Read()
Local $sText
For $i = 0 To _GUICtrlListView_GetItemCount($ListView1) - 1
$sText &= _GUICtrlListView_GetItemTextString($ListView1, $i) & @CRLF
Next
MsgBox(64, '全部项目文本', $sText)
$sText = ''
EndFunc ;==>Read 回复 8# superpangya
你多用了一个变量,累加重复了
水木子 发表于 2010-4-12 10:01 http://www.autoitx.com/images/common/back.gif
代码在下面这处报错,应该是", _ "的问题,但我不会改.......
$ListView1 = GUICtrlCreateListView("编号|姓名|ID", 1, 1, 318, 230, -1, _ 回复 10# shqf
呵呵,代码重新检查了一遍,现在好了.
页:
[1]