想改变ListView表行的背景色和文本颜色,请大大们如何改?(已解决)
本帖最后由 qsy666888 于 2018-5-18 09:42 编辑我想改变ListView表60几分的行的背景色和文本颜色,请大大们如何改?论坛的方法基本都用了,没有改得了。请赐教
#Include <GuiListView.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
#Include <GuiListView.au3>
#Include <GuiTreeView.au3>
_SQLite_Startup ()
$SQLite_Data_Path = "SQLite.db"
$Tablekj = "kaojuan"
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("从数据库里获取姓名示例", 478, 412, 481, 210)
GUISetFont(11, 400, 0, "宋体")
Global $ListView1 = GUICtrlCreateListView("序号|姓名|语文", 8, 8, 458, 358)
KC_lvdraw()
Global $Button1 = GUICtrlCreateButton("查看分数", 293, 376, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $Button1
msgbox(0,"70多分者", _get_N(7, 1))
msgbox(0,"分数个位数是5者", _get_N(5, 0))
EndSwitch
WEnd
Func _get_N($iNum, $iCode = 1)
Local $aRow, $hQuery, $sMsg = ''
Local $sQuery
If $iCode Then
$sQuery = "'" & $iNum & "%'"
Else
$sQuery = "'%" & $iNum & "'"
EndIf
_SQLite_Open ($SQLite_Data_Path)
_SQLite_Query(-1, "SELECT * FROM kaojuan WHERE 分数 LIKE " & $sQuery & ";", $hQuery)
While _SQLite_FetchData($hQuery, $aRow) = $sqlite_ok
$sMsg &= $aRow & @TAB & $aRow & @CRLF
WEnd
Return $sMsg
EndFunc
Func KC_lvdraw()
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
Local $Irval, $Aresult, $Irows, $Icolumns
$Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)
GUICtrlSetColor($ListView1, 0x000000)
_ArrayDelete($aresult, 0)
_GUICtrlListView_AddArray($ListView1, $Aresult)
; GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, 2), '0xFF0000') ;红色
;GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, 5), '0xFF0000') ;红色
GUICtrlSetBkColor(2,"0x00FF00")
GUICtrlSetColor(2,"0xFF0000")
EndFunc
本帖最后由 kk_lee69 于 2018-5-16 01:31 编辑
回复 1# qsy666888
論壇的方法 你用了幾個 能不能 說一下你改了哪邊??
http://www.autoit3.cn/forum.php?mod=viewthread&tid=53612&highlight=listview 回复 2# kk_lee69
谢谢kk大佬的回复,可能我没有阐述清楚,我是想的是程序自己判断,如果是60几分的,改变同一行背景色和文本的颜色 回复 3# qsy666888
上面每一個都是這樣的 都是程序自己判斷條件相同 就改變顏色 回复kk_lee69
谢谢kk大佬的回复,可能我没有阐述清楚,我是想的是程序自己判断,如果是60几分的,改变同 ...
qsy666888 发表于 2018-5-16 11:44 http://www.autoit3.cn/images/common/back.gif
http://www.autoit3.cn/forum.php?mod=viewthread&tid=56625&highlight=listview%D6%B8%B6%A8%99%DA%CE%BB%9Fo%B7%A8%B8%FC%B8%C4%B5%D7%C9%AB%EE%81%C9%AB
<listview指定欄位無法更改底色顏色[已解決]> 回复 5# chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
Func KC_lvdraw()
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
Local $Irval, $Aresult, $Irows, $Icolumns
$Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)
GUICtrlSetColor($ListView1, 0x000000)
_ArrayDelete($aresult, 0)
_GUICtrlListView_AddArray($ListView1, $Aresult)
_SQLite_QueryFinalize($hQuery)
Local $sText, $sText2, $sText3, $sText4, $aItem, $iDateCalc
$sText2 = _GUICtrlListView_GetItemCount($ListView1) ;参璸陪ボ?ListView掸计检索列表视图的项目数量
For $i = 0 To ($sText2 - 1) Step 1 ;癹伴矪瞶
$aItem = _GUICtrlListView_GetItemTextArray($ListView1, $i)
If $aItem > 60 And $aItem < 70 Then
Local $b = ControlListView("从数据库里获取姓名示例", "", $ListView1, "FindItem", $aItem);发送命令到 ListView32 控件
GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, $b), '0xFF00FF');获取列表视图项目的应用程序特定值
GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($ListView1, $b), '0xCCCCCC')
EndIf
Next
EndFunc 本帖最后由 kk_lee69 于 2018-5-16 17:05 编辑
回复 6# qsy666888
大哥你還是沒抓到重點
http://www.autoit3.cn/forum.php?mod=viewthread&tid=56625&highlight=%D7%83%C9%AB
看六樓 我的回覆 回复chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
qsy666888 发表于 2018-5-16 16:41 http://www.autoit3.cn/images/common/back.gif
在写代码时就要想到后面需要的连接
列表框没有需要的判断语句,要如何实现?
回复 8# chzj589
太强大了,怎么弄的哈,请赐教 本帖最后由 chzj589 于 2018-5-16 17:29 编辑
回复 9# qsy666888
chzj589 发表于 2018-5-16 13:28 http://www.autoit3.cn/images/common/back.gif
http://www.autoit3.cn/viewthread ... 7%C9%AB%EE%81%C9%AB
<listview指定欄位無法更改底色顏色[已解決]>
就是上面的例子修改的 回复 9# qsy666888
解決方法方式原理都提供給你了.......這個不是困難的事情
有太多的例子了
剩下的就麻煩你自己動手了~~ 回复 11# kk_lee69
这个数据库的id序列号怎么获取呢,起始位置是从0开始,0的位置指向姓名列。 回复 12# qsy666888
0 是 ID1 是姓名2是 分數 回复 13# kk_lee69
我是自定义的,不知道id那那个值怎么获取
回复 14# qsy666888
你想要做啥??
$Aresult 不就是1
$Aresult不就是2
..
...
...
你應該 連系統怎麼把資料顯示 到 LISTVIEW 都不了解吧