一、问题
谈不上问题,只是对原有功能进行了一个加强,用起来更舒服
二、效果
三、源码
#NoEnv
#Include listview颜色库.ahk
SetBatchLines, -1
Gui, Margin, 20, 20
Gui, Add, ListView, w600 r15 Grid -ReadOnly vVLV hwndHLV
, 列 1|列 2|列 3|列 4|列 5|列6
Loop, 256
LV_Add("", "值 " . A_Index, "值 " . A_Index, "值 " . A_Index, "值 " . A_Index, "值 "
. A_Index, "值 " . A_Index)
Loop, % LV_GetCount("Column")
LV_ModifyCol(A_Index, 95)
; 创建 LV_Colors 的新实例
CLV := New LV_Colors(HLV)
; 设置选定行的颜色
CLV.SelectionColors(0xF0F0F0)
If !IsObject(CLV) {
MsgBox, 0, ERROR, 无法创建 LV_Colors 对象!
ExitApp
}
Gui, Add, CheckBox, w120 vColorsOn gSubShowColors Checked, 开启颜色
Gui, Add, Radio, x+120 yp wp vColors gSubColors, 颜色
Gui, Add, Radio, x+0 yp wp vAltRows gSubColors, 切换行
Gui, Add, Radio, x+0 yp wp vAltCols gSubColors, 切换列
Gui, Show, , 列表视图 & 颜色
; 在第一个 Gui、Show 命令之后重绘 ListView 以显示颜色(如果有)。
WinSet, Redraw, , ahk_id %HLV%
Return
; ----------------------------------------------------------------------------------------------------------------------
GuiClose:
GuiEscape:
ExitApp
; ----------------------------------------------------------------------------------------------------------------------
SubShowColors:
Gui, Submit, NoHide
If (ColorsOn)
CLV.OnMessage()
Else
CLV.OnMessage(False)
GuiControl, Focus, %HLV%
Return
; ----------------------------------------------------------------------------------------------------------------------
SubColors:
Gui, Submit, NoHide
GuiControl, -Redraw, %HLV%
CLV.Clear(1, 1)
If (Colors)
GoSub, SetColors
If (AltRows)
CLV.AlternateRows(0x808080, 0xFFFFFF)
If (AltCols)
CLV.AlternateCols(0x808080, 0xFFFFFF)
GuiControl, +Redraw, %HLV%
Return
; ----------------------------------------------------------------------------------------------------------------------
SetColors:
Loop, % LV_GetCount() {
If (A_Index & 1) { ;位运算,判断奇偶数 N&1 具体参考:https://www.autoahk.com/archives/12672
CLV.Cell(A_Index, 1, 0x808080, 0xFFFFFF)
CLV.Cell(A_Index, 3, 0x808080, 0xFFFFFF)
CLV.Cell(A_Index, 5, 0x808080, 0xFFFFFF)
}
Else {
CLV.Cell(A_Index, 2, 0x808080, 0xFFFFFF)
CLV.Cell(A_Index, 4, 0x808080, 0xFFFFFF)
CLV.Cell(A_Index, 6, 0x808080, 0xFFFFFF)
}
}
Return
库源码
点赞超过100,出更详细的教程!!!!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
?不错加油!
好,可以实现更多效果了😁