返回列表 发帖

[AU3基础] 想改变ListView表行的背景色和文本颜色,请大大们如何改?(已解决)

本帖最后由 qsy666888 于 2018-5-18 09:42 编辑

我想改变ListView表60几分的行的背景色和文本颜色,请大大们如何改?论坛的方法基本都用了,没有改得了。请赐教

  1. #Include <GuiListView.au3>

  2. #include <SQLite.au3>

  3. #include <SQLite.dll.au3>

  4. #Include <GuiListView.au3>

  5. #Include <GuiTreeView.au3>


  6. $SQLite_Data_Path = "SQLite.db"

  7. $Tablekj = "kaojuan"

  8. #Region ### START Koda GUI section ### Form=

  9. Global $Form1 = GUICreate("从数据库里获取姓名示例", 478, 412, 481, 210)

  10. GUISetFont(11, 400, 0, "宋体")

  11. Global $ListView1 = GUICtrlCreateListView("序号|姓名|语文", 8, 8, 458, 358)

  12. KC_lvdraw()

  13. Global $Button1 = GUICtrlCreateButton("查看分数", 293, 376, 75, 25)


  14. #EndRegion ### END Koda GUI section ###

  15.  


  16.         $nMsg = GUIGetMsg()

  17.         Switch $nMsg

  18.                 Case -3

  19.                         Exit

  20.                 Case $Button1

  21.               msgbox(0,"70多分者", _get_N(7, 1))

  22.                           msgbox(0,"分数个位数是5者", _get_N(5, 0))        

  23.         EndSwitch


  24.  

  25. Func _get_N($iNum, $iCode = 1)

  26.         Local $aRow, $hQuery, $sMsg = ''

  27.         Local $sQuery

  28.         If $iCode Then

  29.             $sQuery = "'" & $iNum & "%'"

  30.         Else

  31.                 $sQuery = "'%" & $iNum & "'"

  32.         EndIf

  33.         _SQLite_Open ($SQLite_Data_Path)

  34.         _SQLite_Query(-1, "SELECT * FROM kaojuan WHERE 分数 LIKE " & $sQuery & ";", $hQuery)

  35.         While _SQLite_FetchData($hQuery, $aRow) = $sqlite_ok

  36.                 $sMsg &= $aRow[0] & @TAB & $aRow[1] & @CRLF

  37.         WEnd

  38.         Return $sMsg

  39. EndFunc        

  40.  

  41. Func KC_lvdraw()


  42.         Local $Irval, $Aresult, $Irows, $Icolumns

  43.         $Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)

  44.                 GUICtrlSetColor($ListView1, 0x000000)

  45.         _ArrayDelete($aresult, 0)

  46.        _GUICtrlListView_AddArray($ListView1, $Aresult)

  47.           ; GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, 2), '0xFF0000') ;红色

  48.           ;  GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, 5), '0xFF0000') ;红色

  49.             GUICtrlSetBkColor(2,"0x00FF00")

  50.         GUICtrlSetColor(2,"0xFF0000")      


复制代码 高亮切换


附件: 您需要登录才可以下载或查看附件。没有帐号?加入

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

回复 1# qsy666888


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

TOP

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

TOP

回复 3# qsy666888

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

TOP

回复  kk_lee69
谢谢kk大佬的回复,可能我没有阐述清楚,我是想的是程序自己判断,如果是60几分的,改变同 ...
qsy666888 发表于 2018-5-16 11:44


http://www.autoit3.cn/viewthread ... 7%C9%AB%EE%81%C9%AB
<listview指定欄位無法更改底色顏色[已解決]>

TOP

回复 5# chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
  1. Func KC_lvdraw()


  2.         Local $Irval, $Aresult, $Irows, $Icolumns

  3.         $Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)

  4.                 GUICtrlSetColor($ListView1, 0x000000)

  5.         _ArrayDelete($aresult, 0)

  6.        _GUICtrlListView_AddArray($ListView1, $Aresult)

  7.            _SQLite_QueryFinalize($hQuery)

  8.            

  9.            Local $sText, $sText2, $sText3, $sText4, $aItem, $iDateCalc

  10.          $sText2 = _GUICtrlListView_GetItemCount($ListView1) ;参璸陪ボListView掸计检索列表视图的项目数量

  11.             For $i = 0 To ($sText2 - 1) Step 1 ;癹伴矪瞶

  12.                 $aItem = _GUICtrlListView_GetItemTextArray($ListView1, $i)

  13.                                 If $aItem[3] > 60 And $aItem[3] < 70 Then

  14.                                         Local $b = ControlListView("从数据库里获取姓名示例", "", $ListView1, "FindItem", $aItem[1]);发送命令到 ListView32 控件

  15.                         GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, $b), '0xFF00FF');获取列表视图项目的应用程序特定值

  16.                         GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($ListView1, $b), '0xCCCCCC')

  17.                             EndIf

  18.                         Next   

  19.            

  20.            


复制代码 高亮切换

TOP

本帖最后由 kk_lee69 于 2018-5-16 17:05 编辑

回复 6# qsy666888

大哥  你還是沒抓到重點
http://www.autoit3.cn/viewthread ... hlight=%D7%83%C9%AB

看六樓 我的回覆

TOP

回复  chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
qsy666888 发表于 2018-5-16 16:41

在写代码时就要想到后面需要的连接
列表框没有需要的判断语句,要如何实现?
附件: 您需要登录才可以下载或查看附件。没有帐号?加入

TOP

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

TOP

本帖最后由 chzj589 于 2018-5-16 17:29 编辑

回复 9# qsy666888

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

http://www.autoit3.cn/viewthread ... 7%C9%AB%EE%81%C9%AB
<listview指定欄位無法更改底色顏色[已解決]>
就是上面的例子修改的

TOP

回复 9# qsy666888



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

有太多的例子了

剩下的就麻煩你自己動手了~~
附件: 您需要登录才可以下载或查看附件。没有帐号?加入
改簽名 協助 宣传论坛捐助事业:http://www.autoit3.cn/thread-56447-1-1.html

TOP

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

TOP

回复 12# qsy666888



0 是 ID  1 是姓名  2是 分數
附件: 您需要登录才可以下载或查看附件。没有帐号?加入
改簽名 協助 宣传论坛捐助事业:http://www.autoit3.cn/thread-56447-1-1.html

TOP

回复 13# kk_lee69

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

附件: 您需要登录才可以下载或查看附件。没有帐号?加入

TOP

回复 14# qsy666888

你想要做啥??

$Aresult[0][0] 不就是1
$Aresult[1][0]  不就是2
..
...
...

你應該 連系統怎麼把資料顯示 到 LISTVIEW 都不了解吧

TOP

返回列表