返回列表 发帖
回复 45# chzj589
图标想怎么玩就怎么玩
附件: 您需要登录才可以下载或查看附件。没有帐号?加入

TOP

回复 45# chzj589
图标显示用GUICtrlCreateIcon处理

這句話是甚麼意思  能否舉例一下 我不懂如何使用 GUICtrlCreateIcon处理 LISTVIEW 的圖示

TOP

回复  chzj589
图标显示用GUICtrlCreateIcon处理

這句話是甚麼意思  能否舉例一下 我不懂如何使用 GUI ...
kk_lee69 发表于 2018-5-22 01:00

创建GUICtrlCreateIcon控件叠在LISTVIEW列表的效果,这样背景才会一样。
附件: 您需要登录才可以下载或查看附件。没有帐号?加入

TOP

回复 48# chzj589

我的意思是 如呵使用 GUICtrlCreateIcon 填充 LISTVIEW 的圖標

能寫段小程式看看嗎??

TOP

回复 49# kk_lee69
        #Region ### START Koda GUI section ### Form=
    Global $Form1 = GUICreate("从数据库里获取姓名示例", 478, 412, 481, 210)
        GUISetFont(11, 400, 0, "宋体")
        Global $ListView1 = GUICtrlCreateListView("", 4, 8, 348, 258, $LVS_REPORT, $WS_EX_CLIENTEDGE);, $SS_CENTER, $LBS_EXTENDEDSEL) ;
        GUICtrlSetFont(-1, 10, 400, 0, "微软雅黑")
        _GUICtrlListView_AddColumn($ListView1, "序号", 50, 2);
        _GUICtrlListView_AddColumn($ListView1, "姓名", 85, 1)
        _GUICtrlListView_AddColumn($ListView1, "语文", 85, 1)
        _GUICtrlListView_AddColumn($ListView1, "分数评定", 85, 1)
        _GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_INFOTIP))
        Local $totala = 38       
        For $i = 1 To 6
                $totala += 1
                $icoa[$i] = GUICtrlCreateIcon("", 2, 65, 13 - 1 / 2 + ($i * (22 + 1)), 20, 20);横条   274,0x06
                GUICtrlSetImage(-1, "shell32.dll", $totala)
        Next
        _du()
        ;KC_lvdraw()
        Global $Button1 = GUICtrlCreateButton("查看分数", 293, 346, 75, 25)
        GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
        GUISetState(@SW_SHOW)
        #EndRegion ### END Koda GUI section ###

TOP

回复 50# chzj589
你这个可以,但是一点表里的行,全没了

TOP

运行代码后读取不到数据库啊

TOP

回复 51# qsy666888

我測試 不出使用 GUICtrlCreateIcon 的方法

可以提供你測試的 程式範例嗎??

TOP

本帖最后由 chzj589 于 2018-5-23 08:35 编辑
回复  qsy666888

我測試 不出使用 GUICtrlCreateIcon 的方法

可以提供你測試的 程式範例嗎??
kk_lee69 发表于 2018-5-22 22:15

50楼的代码不理解?
  1. #include <GUIConstantsEx.au3>

  2. #include <GuiListView.au3>

  3. #include <GuiImageList.au3>

  4. #include <ListViewConstants.au3>

  5. #include <WindowsConstants.au3>

  6. #include <SQLite.au3>

  7. #include <SQLite.dll.au3>

  8. #include <GuiTreeView.au3>

  9. #include <StaticConstants.au3>

  10. #include <WinAPI.au3>

  11. #include <ButtonConstants.au3>

  12. #include <GUIConstants.au3>

  13. Opt("GUIOnEventMode", 1)

  14. Global $nBytes

  15. Global $Title, $aRow2, $Pic1


  16. $SQLite_Data_Path = "SQLite.db"

  17. $Tablekj = "kaojuan"

  18. _Form1()


  19.         Sleep(1000)


  20. Func _Form1()

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

  22.  

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

  24.         GUISetOnEvent($GUI_EVENT_CLOSE, "btnClose")

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

  26.         GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY5")

  27.         Global $ListView1 = GUICtrlCreateListView("", 4, 8, 470, 258, $LVS_REPORT, $WS_EX_CLIENTEDGE);, $SS_CENTER, $LBS_EXTENDEDSEL) ;, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_FULLROWSELECT, $LVS_REPORT));

  28.         Global $hListView1 = GUICtrlGetHandle($ListView1)

  29.         GUICtrlSetBkColor(-1, 0xC0E0FF);$CLR_MONEYGREEN);0xC0C0C0); 0xC0E0FF);背景色

  30.         GUICtrlSetFont(-1, 10, 400, 0, "微软雅黑")

  31.         ;_GUICtrlListView_SetBkColor($ListView1, 14675183)

  32.         _GUICtrlListView_AddColumn($ListView1, "序号", 50, 2);

  33.         _GUICtrlListView_AddColumn($ListView1, "姓名", 85, 1)

  34.         _GUICtrlListView_AddColumn($ListView1, "语文", 85, 1)

  35.         _GUICtrlListView_AddColumn($ListView1, "分数评定", 85, 1)

  36.         _GUICtrlListView_SetExtendedListViewStyle($ListView1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_INFOTIP))

  37.         Local $icoa[21], $a

  38.         Local $icob[21]

  39.         Local $icoc[21]

  40.         Local $aRow, $hQuery, $sQuery

  41.         Local $totala = 38;31

  42.         Local $totalb = 14

  43.         Local $totalc = 164

  44.         _SQLite_Open($SQLite_Data_Path)

  45.         _SQLite_Query(-1, "select rowid,* from kaojuan; WHERE 分数 LIKE " & $sQuery & ";", $hQuery)

  46.         While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK

  47.                 $a = $aRow[0]

  48.         WEnd

  49.         _SQLite_QueryFinalize($hQuery)

  50.         For $i = 1 To $a;6

  51.                 $totala += 1

  52.                 $totalb += 1

  53.                 $totalc += 1

  54.                 $icoa[$i] = GUICtrlCreateIcon("", 2, 65, 13 - 1 / 2 + ($i * (22 + 1)), 20, 20);横条   274,0x06

  55.                 GUICtrlSetImage(-1, "shell32.dll", $totala)

  56.                 $icob[$i] = GUICtrlCreateIcon("", 2, 150, 13 - 1 / 2 + ($i * (22 + 1)), 20, 20);横条   274

  57.                 GUICtrlSetImage(-1, "shell32.dll", $totalb)

  58.                 $icoc[$i] = GUICtrlCreateIcon("", 2, 235, 13 - 1 / 2 + ($i * (22 + 1)), 20, 20);横条   274

  59.                 GUICtrlSetImage(-1, "shell32.dll", $totalc)

  60.         Next

  61.  

  62.         _du()

  63.         ;KC_lvdraw()

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

  65.         GUICtrlSetOnEvent(-1, "_get_Na")

  66.         GUISetState(@SW_SHOW)

  67.         #EndRegion ### END Koda GUI section ###

  68. EndFunc   ;==>_Form1

  69. Func btnClose()

  70.         GUIDelete()

  71.         Exit

  72. EndFunc   ;==>btnClose

  73. Func _du();

  74.         ;GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)

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

  76.         Local $sQuery, $h4

  77.         Local $Date_interval, $iDateCalc, $aItem

  78.         Local $sTable_Name, $aResult, $iRows, $iColumns, $iRval, $aRow2

  79.         Local $c = 0 ;初始二維陣列值

  80.         Local $i = 0

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

  82.         Local $sQuery, $h4

  83.         Local $icoa[11]

  84.         Local $total = 31

  85.         _SQLite_Open($SQLite_Data_Path)

  86.         _SQLite_Query(-1, "select rowid,* from kaojuan; WHERE 分数 LIKE " & $sQuery & ";", $hQuery)

  87.         While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK

  88.                 $aRow2 = $aRow[0]

  89.         WEnd

  90.         Local $AddData[$aRow2][10] ;設定二維陣列

  91.         ;Local $hPrevImageList = _GUICtrlListView_SetImageList($ListView1, $hImage, 1)

  92.         _SQLite_Open($SQLite_Data_Path)

  93.         _SQLite_Query(-1, "select rowid,* from kaojuan; WHERE 分数 LIKE " & $sQuery & ";", $hQuery)

  94.         While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK

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

  96.                 $re1 = $aRow[2]

  97.                 If $re1 < 60 Then

  98.                         $h4 = "不及格"

  99.                 ElseIf $re1 <= 70 Then

  100.                         $h4 = "及格"

  101.                 ElseIf $re1 <= 80 Then

  102.                         $h4 = "良"

  103.                 ElseIf $re1 <= 90 Then

  104.                         $h4 = "优"

  105.                 ElseIf $re1 <= 100 Then

  106.                         $h4 = "优"

  107.                 EndIf

  108.                 GUICtrlCreateListViewItem($Pic1 & $aRow[0] & "|" & $aRow[1] & "|" & $aRow[2] & "|" & $h4, $ListView1)

  109.                 $AddData[$c][0] = $aRow[0];

  110.                 $AddData[$c][1] = $aRow[1]

  111.                 $AddData[$c][2] = $aRow[2]

  112.                 $AddData[$c][3] = $h4;$aRow[3]

  113.                 $c = $c + 1

  114.         WEnd

  115.         ;GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)

  116.         ;_GUICtrlListView_AddArray($ListView1, $AddData)

  117.         _SQLite_QueryFinalize($hQuery)

  118.         ;_du1()

  119. ;EndFunc   ;==>_du

  120. ;Func _du1()

  121.         Local $sText, $sText2

  122.         $sText2 = _GUICtrlListView_GetItemCount($hListView1)

  123.         For $i = 0 To ($sText2 - 1) Step 1

  124.                 $aItem = _GUICtrlListView_GetItemTextArray($hListView1, $i)

  125.                 $sText = $aItem[4]

  126.                 ;MsgBox(0, "提示", $sText, 1)

  127.                 If $aItem[4] <= "不及格" And $aItem[0] <> "分数评定" Then;

  128.                         $iDat = $aItem[3]

  129.                         If $iDat > 30 And $iDat <= 60 Then

  130.                                 Local $b = ControlListView($Title, "", $hListView1, "FindItem", $aItem[1])

  131.                                 GUICtrlSetColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xFF0000')

  132.                                 GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xfbfcfd' - '0x333300')

  133.                         EndIf

  134.                 ElseIf $aItem[4] <= "及格" And $aItem[0] <> "分数评定" Then

  135.                         $iDateCalc = $aItem[3]

  136.                         If $iDateCalc > 61 And $iDateCalc <= 70 Then

  137.                                 Local $b = ControlListView($Title, "", $hListView1, "FindItem", $aItem[1])

  138.                                 GUICtrlSetColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xFFFF00')

  139.                                 GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xF27D00')

  140.                         EndIf

  141.                 ElseIf $aItem[4] = "良" And $aItem[0] <> "分数评定" Then

  142.                         $iDateCalc = $aItem[3]

  143.                         If $iDateCalc > 70 And $iDateCalc <= 85 Then

  144.                                 Local $b = ControlListView($Title, "", $hListView1, "FindItem", $aItem[1])

  145.                                 GUICtrlSetColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xfbfcfd')

  146.                                 GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xCBAC00' - '0x333300')

  147.                         EndIf

  148.                 ElseIf $aItem[4] = "优" And $aItem[0] <> "分数评定" Then

  149.                         $iDateCalc = $aItem[3]

  150.                         If $iDateCalc > 85 And $iDateCalc <= 95 Then

  151.                                 Local $b = ControlListView($Title, "", $hListView1, "FindItem", $aItem[1])

  152.                                 GUICtrlSetColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0x009900')

  153.                                 GUICtrlSetBkColor(_GUICtrlListView_GetItemParam($hListView1, $b), '0xFFFFFF')

  154.                         EndIf

  155.                 EndIf

  156.         Next

  157.         GUICtrlSetState($ListView1, $GUI_SHOW)

  158. EndFunc   ;==>_du1

  159. Func WM_NOTIFY5($hWnd, $iMsg, $iwParam, $ilParam)

  160.         #forceref $hWnd, $iMsg, $iwParam

  161.         Local $tNMHDR, $hWndFrom, $iCode, $hWndListView

  162.         $hWndListView = $ListView1

  163.         If Not IsHWnd($ListView1) Then $hWndListView = GUICtrlGetHandle($ListView1)

  164.         $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)

  165.         $hWndFrom = DllStructGetData($tNMHDR, 'hWndFrom')

  166.         $iCode = DllStructGetData($tNMHDR, 'Code')

  167.         Switch $iCode

  168.                 Case $NM_CLICK ; 鼠标左键单击

  169.                 ;Case $NM_DBLCLK

  170.                         Global $aHit = _GUICtrlListView_SubItemHitTest($hListView1)

  171.                         ;MsgBox(0, "提示", $aHit, 1)

  172.                         If $aHit <> "" Then

  173.                                 $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)

  174.                                 Local $idd = DllStructGetData($tInfo, "Index")

  175.                                 Local $cont = _GUICtrlListView_GetItemCount($hListView1);取得数组的行列数

  176.                                 $h1 = 0

  177.                                 For $id = 0 To $cont - 1

  178.                                         $str = _GUICtrlListView_GetItemTextArray($hListView1, $idd)

  179.                                         $h1 = $str[1]

  180.                                         $h2 = $str[2]

  181.                                         $h3 = $str[3]

  182.                                         $h4 = $str[4]

  183.                                 Next

  184.                                 GUISetState(@SW_HIDE, $Form1)

  185.                                 _Form1()

  186.                                 MsgBox(0, "提示a", $h1&'   '&$h2&'   '&$h3&'   '&$h4)

  187.                         Else

  188.                                 ;MsgBox(0, "提示", "单击了空白处", 1)

  189.                         EndIf

  190.                 Case $NM_RCLICK ;滑鼠右鍵點擊

  191.                         $Index = _GUICtrlListView_SubItemHitTest($ListView1)

  192.                         ;MsgBox(0, "提示b", $Index, 1)

  193.                         If $Index <> "" Then

  194.                                 $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)

  195.                                 Local $idd = DllStructGetData($tInfo, "Index")

  196.                                 Local $cont = _GUICtrlListView_GetItemCount($ListView1);取得数组的行列数

  197.                                 $h1 = 0

  198.                                 For $id = 0 To $cont - 1

  199.                                         $str = _GUICtrlListView_GetItemTextArray($ListView1, $idd)

  200.                                         $h1 = $str[4]

  201.                                         ;$h9 = $str[12]

  202.                                 Next

  203.                                 GUISetState(@SW_HIDE, $Form1)

  204.                                 _Form1()

  205.                                 ;GUISetState(@SW_SHOW, $Form1)

  206.                                 MsgBox(0, "提示", $h1, 1)

  207.                         Else

  208.                                 MsgBox(0, "提示", "单击了空白处", 1)

  209.                         EndIf

  210.         EndSwitch

  211.         Return $GUI_RUNDEFMSG

  212. EndFunc   ;==>WM_NOTIFY

  213. Func _get_Na()

  214.         MsgBox(0, "分数", _get_N(7, 1))

  215. EndFunc   ;==>_get_Na

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

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

  218.         Local $sQuery, $h4

  219.         If $iCode Then

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

  221.         Else

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

  223.         EndIf

  224.         _SQLite_Open($SQLite_Data_Path)

  225.         _SQLite_Query(-1, "select rowid,* from kaojuan; WHERE 分数 LIKE " & $sQuery & ";", $hQuery)

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

  227.                 $re1 = $aRow[2]

  228.                 If $re1 < 60 Then

  229.                         $h4 = "不及格"

  230.                 ElseIf $re1 <= 70 Then

  231.                         $h4 = "及格"

  232.                 ElseIf $re1 <= 80 Then

  233.                         $h4 = "良"

  234.                 ElseIf $re1 <= 90 Then

  235.                         $h4 = "优"

  236.                 ElseIf $re1 <= 100 Then

  237.                         $h4 = "优"

  238.                 EndIf

  239.                 $sMsg &= $aRow[0] & @TAB & $aRow[1] & @TAB & $aRow[2] & @TAB & $h4 & @CRLF

  240.         WEnd

  241.         Return $sMsg

  242. EndFunc   ;==>_get_N

  243. Func KC_lvdraw()


  244.         Local $iRval, $aResult, $iRows, $iColumns

  245.         $iRval = _SQLite_GetTable2d(_SQLite_Open($SQLite_Data_Path), "select rowid,* from kaojuan;", $aResult, $iRows, $iColumns)

  246.         ;GUICtrlSetColor($ListView1, 0x000000)

  247.         _ArrayDelete($aResult, 0)

  248.         _GUICtrlListView_AddArray($ListView1, $aResult)

  249. EndFunc   ;==>KC_lvdraw

复制代码 高亮切换

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

TOP

返回列表