kk_lee69大哥,我贴出代码了,你看看,写入listview的方式不同,代码写底色确不同效果! 回复 14# chzj589
我主要是想用
_GUICtrlListView_AddArray($ListView1, $aShowdata)
快速列表,但用了这个函数,写行底色确不行了! 本帖最后由 chzj589 于 2016-11-24 13:33 编辑
回复 15# blue_dvd
写这样的代码要做什么?
为何不将自己写的发上来?
回复 17# blue_dvd
http://www.autoitx.com/forum.php?mod=viewthread&tid=47377&highlight=listview
這裡不就是完全是你需要的?? 回复 16# blue_dvd
或者你不要用 _GUICtrlListView_AddArray
用原本的方法可以解決 閃的問題....
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <ColorConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 591, 349, 192, 114)
$ListView1 = GUICtrlCreateListView("", 24, 24, 546, 302)
GUICtrlSendMsg($ListView1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
_GUICtrlListView_AddColumn($ListView1, "Item1",100)
_GUICtrlListView_AddColumn($ListView1, "nSubItem1", 100)
_GUICtrlListView_AddColumn($ListView1, "nSubItem2", 100)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Local $GUI, $hImage, $iITEM_COUNT =1000
Local $sSomeString = ""
Local $aBoy[$iITEM_COUNT]
For $i = 0 To $iITEM_COUNT - 1;初始化??
$aBoy[$i] = "??" & $i
$aBoy[$i] = "爸爸" & $i
$aBoy[$i] = "儿子" & $i
Next
Local $aShowdata = $aBoy
_GUICtrlListView_BeginUpdate($ListView1)
for $i=0 toUBound($aShowdata ,1)-1
$t_a=$aShowdata[$i]
For $j=1 ToUBound($aShowdata,2) - 1
$t_a=$t_a&"|"&$aShowdata[$i][$j]
Next
;MsgBox(0,"提醒", $t_a)
GUICtrlCreateListViewItem($t_a,$ListView1)
Next
;?置列?
For $i = 0 To UBound($aShowdata ,2) - 1
_GUICtrlListView_SetColumnWidth($ListView1, $i, $LVSCW_AUTOSIZE) ;?置列??不懂
Next
local $ii=0
;?置行?隔?色
For $i = 0 To UBound($aShowdata,1) - 1
ifmod($i,2)=0 Then
; $ii= _GUICtrlListView_SetItemSelected($ListView1, $i)
; $a = ControlListView($form1, "", $ListView1, "GetSelected", $ii)
; ConsoleWrite($a&@CRLF)
GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($ListView1, $i), $COLOR_BLUE) ;?色
ConsoleWrite(_GUICtrlListView_GetItemParam($ListView1, $i)&@CRLF)
EndIf
Next
_GUICtrlListView_EndUpdate($ListView1)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd 回复 17# blue_dvd
簡單做個結論
使用 _GUICtrlListView_AddArray 出來的東西因為結構不一樣,因此有很多事無法使用的 譬如
你想設定寬度_GUICtrlListView_SetColumnWidth 會失效
想設定背景 GUICtrlSetBkColor會失效
所以你得 註冊函數 然後 自己手動處理...... WM_NOTIFY
不這樣做 是無法達到你的要求..................
不然就得 採用傳統的方式..... 回复 21# kk_lee69
谢谢,终于搞定了!
页:
1
[2]