找回密码
 加入
搜索
查看: 4131|回复: 8

ListView排序问题?

  [复制链接]
发表于 2009-3-26 13:17:16 | 显示全部楼层 |阅读模式
点下下面图租凭,会员数字就会按大小排列?


[ 本帖最后由 jiangzhanye 于 2009-3-26 13:32 编辑 ]

本帖子中包含更多资源

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

×
 楼主| 发表于 2009-3-26 13:33:02 | 显示全部楼层
#include <GuiListView.au3>
#include <GUIConstants.au3>

$Form1 = GUICreate("ListView相关示例", 350, 350, 192, 114)
$List1 = GUICtrlCreateListView("Name|Sex|IDNumber", 16, 16, 305, 279, $LVS_ICON, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT));<==创建带图标和CheckBox的ListView
Dim $B_DESCENDING[_GUICtrlListView_GetColumnCount($List1)] ;<==定义排序数组,必不可少
_GUICtrlListView_SetColumnWidth($List1, 0, 160) ;<==设置List1第一列标题宽度
_GUICtrlListView_SetColumnWidth($List1, 1, 80) ;<==设置List1第一列标题宽度
_GUICtrlListView_SetColumnWidth($List1, 2, 80) ;<==设置List1第一列标题宽度
_AddList1Items();<==添加List1的Items
$Button1 = GUICtrlCreateButton("删除", 48, 312, 81, 25, 0)
$Button2 = GUICtrlCreateButton("恢复", 190, 314, 81, 25, 0)
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit ;<==退出
                Case $Button1
                        _DelList1Items();<==删除List1里所有的Items
                Case $Button2
                        _AddList1Items();<==添加/刷新List1里的Items
                Case $List1
                        _GUICtrlListView_SimpleSort($List1, $B_DESCENDING, GUICtrlGetState($List1))        ;<==List1的排序

        EndSwitch
WEnd

Func _DelList1Items() ;<==删除List1里所有的Items函数
        GUICtrlSendMsg($List1, $LVM_DeleteALLITEMS, 0, 0)
EndFunc

Func _AddList1Items() ;<==添加List1里的Items函数
        For $i = 0 to 9
                If Round($i / 2) = $i / 2 Then  ;<==如果$i是2的倍数就...
                        $item = GUICtrlCreateListViewItem("Angus"&$i&"|Male|"&"123456", $List1)
                        GUICtrlSetBkColor($item, 0x800080);<==设置Item的背景颜色
                        GUICtrlSetImage($item, "shell32.dll", 22);<==设置图标
                        GUICtrlSetColor($item, 0x000000);<==设置Item项里字体颜色
                        GUICtrlSetState($item, $GUI_CHECKED);<==设置CheckBox为选中
                Else                           ;<==如果$i不是2的倍数就...
                        $item = GUICtrlCreateListViewItem("May"&$i&"|Female|"&"654321", $List1)
                        GUICtrlSetBkColor($item, 0x008080);<==设置Item的背景颜色
                        GUICtrlSetImage($item, "shell32.dll", 20);<==设置图标
                        GUICtrlSetColor($item, 0xFFFFFF);<==设置Item项里字体颜色                        
                EndIf
        Next
EndFunc

Func _AllDisable() ;<==List1里的CheckBox全选

EndFunc

Func _AllEnable();<==List1里的CheckBox全不选
        
EndFunc

Func _SelectedCount() ;<==统计List1里CheckBox里选中了几项
        
EndFunc

Func _SelectedInfo();<==返回List1里CheckBox里选中项的详细信息

EndFunc
发表于 2009-5-27 20:26:09 | 显示全部楼层
为什么排序后Item项里字体颜色不会跟着变呢???有没有什么办法让颜色也跟着变?
发表于 2009-8-7 00:48:49 | 显示全部楼层
谢谢 顶~~~~~~~~~~~~~~
发表于 2012-1-7 09:35:30 | 显示全部楼层
感谢分享!从这个例子中,也解决了我的排序问题。
发表于 2014-4-6 11:14:39 | 显示全部楼层
正在找关于排序的例子,多谢分享。
发表于 2017-9-11 17:31:17 | 显示全部楼层
刚好需要,看看,谢谢分享
发表于 2017-9-11 17:56:39 | 显示全部楼层
回复 3# scandisk


    用內容判斷 該顯示的顏色 而不是 ITEM 項目
发表于 2017-9-11 19:32:11 | 显示全部楼层
回复 8# kk_lee69


    你回的是2009年的帖子。。。。。。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 08:14 , Processed in 0.128657 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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