给AutoHotkey列表视图上色[listview颜色库]

一、问题

谈不上问题,只是对原有功能进行了一个加强,用起来更舒服

二、效果

给AutoHotkey列表视图上色[listview颜色库]

三、源码

#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,出更详细的教程!!!!

给TA捐赠
共{{data.count}}人
人已捐赠
函数应用

AutoHotkey调用GDI+实现图片按钮[Class_PictureButton_v1]

2023-2-1 11:17:16

其他应用

在运行框中翻译

2023-2-4 9:06:59

3 条回复 A文章作者 M管理员
  1. AHK中文社区

    ?不错加油!

  2. 立心

    好,可以实现更多效果了😁

  3. 立心
    立心给作者打赏了¥2
个人中心
购物车
优惠劵
有新私信 私信列表
搜索