qsy666888 发表于 2018-5-16 01:01:47

想改变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:24:36

本帖最后由 kk_lee69 于 2018-5-16 01:31 编辑

回复 1# qsy666888


    論壇的方法 你用了幾個 能不能 說一下你改了哪邊??
http://www.autoit3.cn/forum.php?mod=viewthread&tid=53612&highlight=listview

qsy666888 发表于 2018-5-16 11:44:17

回复 2# kk_lee69
谢谢kk大佬的回复,可能我没有阐述清楚,我是想的是程序自己判断,如果是60几分的,改变同一行背景色和文本的颜色

kk_lee69 发表于 2018-5-16 11:52:36

回复 3# qsy666888

上面每一個都是這樣的 都是程序自己判斷條件相同 就改變顏色

chzj589 发表于 2018-5-16 13:28:47

回复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指定欄位無法更改底色顏色[已解決]>

qsy666888 发表于 2018-5-16 16:41:36

回复 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:01:16

本帖最后由 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 发表于 2018-5-16 17:16:30

回复chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
qsy666888 发表于 2018-5-16 16:41 http://www.autoit3.cn/images/common/back.gif
在写代码时就要想到后面需要的连接
列表框没有需要的判断语句,要如何实现?

qsy666888 发表于 2018-5-16 17:24:29

回复 8# chzj589
太强大了,怎么弄的哈,请赐教

chzj589 发表于 2018-5-16 17:28:05

本帖最后由 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指定欄位無法更改底色顏色[已解決]>
就是上面的例子修改的

kk_lee69 发表于 2018-5-16 22:23:18

回复 9# qsy666888



解決方法方式原理都提供給你了.......這個不是困難的事情

有太多的例子了

剩下的就麻煩你自己動手了~~

qsy666888 发表于 2018-5-16 22:38:29

回复 11# kk_lee69
这个数据库的id序列号怎么获取呢,起始位置是从0开始,0的位置指向姓名列。

kk_lee69 发表于 2018-5-16 22:46:28

回复 12# qsy666888



0 是 ID1 是姓名2是 分數

qsy666888 发表于 2018-5-16 22:58:52

回复 13# kk_lee69

我是自定义的,不知道id那那个值怎么获取

kk_lee69 发表于 2018-5-16 23:36:00

回复 14# qsy666888

你想要做啥??

$Aresult 不就是1
$Aresult不就是2
..
...
...

你應該 連系統怎麼把資料顯示 到 LISTVIEW 都不了解吧
页: [1] 2 3 4
查看完整版本: 想改变ListView表行的背景色和文本颜色,请大大们如何改?(已解决)