找回密码  加入

AUTOIT CN

搜索
查看: 780|回复: 53

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

[复制链接]
发表于 2018-5-16 01:01:47 | 显示全部楼层 |阅读模式
本帖最后由 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_Startup ()
  7. $SQLite_Data_Path = "SQLite.db"
  8. $Tablekj = "kaojuan"
  9. #Region ### START Koda GUI section ### Form=
  10. Global $Form1 = GUICreate("从数据库里获取姓名示例", 478, 412, 481, 210)
  11. GUISetFont(11, 400, 0, "宋体")
  12. Global $ListView1 = GUICtrlCreateListView("序号|姓名|语文", 8, 8, 458, 358)
  13. KC_lvdraw()
  14. Global $Button1 = GUICtrlCreateButton("查看分数", 293, 376, 75, 25)
  15. GUISetState(@SW_SHOW)
  16. #EndRegion ### END Koda GUI section ###

  17. While 1
  18.         $nMsg = GUIGetMsg()
  19.         Switch $nMsg
  20.                 Case -3
  21.                         Exit
  22.                 Case $Button1
  23.               msgbox(0,"70多分者", _get_N(7, 1))
  24.                           msgbox(0,"分数个位数是5者", _get_N(5, 0))        
  25.         EndSwitch
  26. WEnd

  27. Func _get_N($iNum, $iCode = 1)
  28.         Local $aRow, $hQuery, $sMsg = ''
  29.         Local $sQuery
  30.         If $iCode Then
  31.             $sQuery = "'" & $iNum & "%'"
  32.         Else
  33.                 $sQuery = "'%" & $iNum & "'"
  34.         EndIf
  35.         _SQLite_Open ($SQLite_Data_Path)
  36.         _SQLite_Query(-1, "SELECT * FROM kaojuan WHERE 分数 LIKE " & $sQuery & ";", $hQuery)
  37.         While _SQLite_FetchData($hQuery, $aRow) = $sqlite_ok
  38.                 $sMsg &= $aRow[0] & @TAB & $aRow[1] & @CRLF
  39.         WEnd
  40.         Return $sMsg
  41. EndFunc        

  42. Func KC_lvdraw()
  43.         _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
  44.         Local $Irval, $Aresult, $Irows, $Icolumns
  45.         $Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)
  46.                 GUICtrlSetColor($ListView1, 0x000000)
  47.         _ArrayDelete($aresult, 0)
  48.        _GUICtrlListView_AddArray($ListView1, $Aresult)
  49.           ; GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, 2), '0xFF0000') ;红色
  50.           ;  GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, 5), '0xFF0000') ;红色
  51.             GUICtrlSetBkColor(2,"0x00FF00")
  52.         GUICtrlSetColor(2,"0xFF0000")          
  53. EndFunc
复制代码


本帖子中包含更多资源

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

x
发表于 2018-5-16 01:24:36 | 显示全部楼层
本帖最后由 kk_lee69 于 2018-5-16 01:31 编辑

回复 1# qsy666888


    論壇的方法 你用了幾個 能不能 說一下你改了哪邊??
http://www.autoit3.cn/forum.php? ... ;highlight=listview
 楼主| 发表于 2018-5-16 11:44:17 | 显示全部楼层
回复 2# kk_lee69
谢谢kk大佬的回复,可能我没有阐述清楚,我是想的是程序自己判断,如果是60几分的,改变同一行背景色和文本的颜色
发表于 2018-5-16 11:52:36 | 显示全部楼层
回复 3# qsy666888

上面每一個都是這樣的 都是程序自己判斷  條件相同 就改變顏色
发表于 2018-5-16 13:28:47 | 显示全部楼层
回复  kk_lee69
谢谢kk大佬的回复,可能我没有阐述清楚,我是想的是程序自己判断,如果是60几分的,改变同 ...
qsy666888 发表于 2018-5-16 11:44


http://www.autoit3.cn/forum.php? ... 7%C9%AB%EE%81%C9%AB
<listview指定欄位無法更改底色顏色[已解決]>
 楼主| 发表于 2018-5-16 16:41:36 | 显示全部楼层
回复 5# chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
  1. Func KC_lvdraw()
  2.         _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
  3.         Local $Irval, $Aresult, $Irows, $Icolumns
  4.         $Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)
  5.                 GUICtrlSetColor($ListView1, 0x000000)
  6.         _ArrayDelete($aresult, 0)
  7.        _GUICtrlListView_AddArray($ListView1, $Aresult)
  8.            _SQLite_QueryFinalize($hQuery)
  9.           
  10.            Local $sText, $sText2, $sText3, $sText4, $aItem, $iDateCalc
  11.          $sText2 = _GUICtrlListView_GetItemCount($ListView1) ;参璸陪ボ?ListView掸计检索列表视图的项目数量
  12.             For $i = 0 To ($sText2 - 1) Step 1 ;癹伴矪瞶
  13.                 $aItem = _GUICtrlListView_GetItemTextArray($ListView1, $i)
  14.                                 If $aItem[3] > 60 And $aItem[3] < 70 Then
  15.                                         Local $b = ControlListView("从数据库里获取姓名示例", "", $ListView1, "FindItem", $aItem[1]);发送命令到 ListView32 控件
  16.                         GUICtrlSetColor(_GUICtrlListView_GetItemParam($ListView1, $b), '0xFF00FF');获取列表视图项目的应用程序特定值
  17.                         GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($ListView1, $b), '0xCCCCCC')
  18.                             EndIf
  19.                         Next       
  20.           
  21.           
  22. EndFunc
复制代码
发表于 2018-5-16 17:01:16 | 显示全部楼层
本帖最后由 kk_lee69 于 2018-5-16 17:05 编辑

回复 6# qsy666888

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

看六樓 我的回覆
发表于 2018-5-16 17:16:30 | 显示全部楼层
回复  chzj589
怎么加上去了还是不改变颜色,究竟还有哪里不对,大侠
qsy666888 发表于 2018-5-16 16:41

在写代码时就要想到后面需要的连接
列表框没有需要的判断语句,要如何实现?

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-5-16 17:24:29 | 显示全部楼层
回复 8# 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/viewthread ... 7%C9%AB%EE%81%C9%AB
<listview指定欄位無法更改底色顏色[已解決]>
就是上面的例子修改的
发表于 2018-5-16 22:23:18 | 显示全部楼层
回复 9# qsy666888



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

有太多的例子了

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

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-5-16 22:38:29 | 显示全部楼层
回复 11# kk_lee69
这个数据库的id序列号怎么获取呢,起始位置是从0开始,0的位置指向姓名列。
发表于 2018-5-16 22:46:28 | 显示全部楼层
回复 12# qsy666888



0 是 ID  1 是姓名  2是 分數

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-5-16 22:58:52 | 显示全部楼层
回复 13# kk_lee69

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

本帖子中包含更多资源

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

x
发表于 2018-5-16 23:36:00 | 显示全部楼层
回复 14# qsy666888

你想要做啥??

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

你應該 連系統怎麼把資料顯示 到 LISTVIEW 都不了解吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2018-8-16 00:22 , Processed in 0.098437 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表