在显示文本行时更改Listview中的文本颜色

时间:2018-11-20 21:48:00

标签: autohotkey

我找到了有关更改文本颜色的参考,但没有使用AutoHotKey。似乎有很多LV修改选项,但与显示颜色无关。

我想做的是在文本行显示在屏幕上的情况下,以一行颜色显示文本行,该颜色由ListView列变量值之一确定。

下面是一些代码。为了清楚起见,我已经缩短了代码,但这应该可以证明我想要做的事情:

Gui, New ,, Basic List
Gui, Add, Text, x1, Location   %AppLocation%     Rec Count %NGCRec%
Gui, Add, ListView, VFirstGui H350 W256 gNGCSelect1 HScroll, Object Name|etc. etc
Gui, Add, Text,, Sort Options                 Siderial Time %SideHr%h etc. etc

While x < y
{
   ;If possible change text color here before the next line of text is displayed 
   LV_Add(, NGCSort%x%_11, NGCSort%x%_2, NGCSort%x%_5, NGCSort%x%_6, etc. etc)
   x += 1
}

很抱歉上面的双倍行距,否则所有的文本都会合并在一起

我知道我可以在Gui, Add, ListView, options中设置列表视图颜色,但是在将ListView文本显示在屏幕上时无法更改这些颜色。

如果无法在显示时更改Listview线的颜色,是否可以将显示变量的内容保存为其他颜色?

LV_Add语句中的变量是NGCSort%x%_11NGCSort%x%_2,依此类推。

从一个文本文件中读取这些变量中的值,然后在屏幕上将其显示为黑色文本。

是否有一种方法可以将文本文件的值以彩色保存到NGCSort%x%_%y%变量中,以便它们将以彩色显示,而不是尝试在屏幕上放置文本行时更改颜色? / p>

其背后的想法是让观看者了解天文物体与天空中最高位置的距离。蓝色,物体正在向最高点上升。红色,接近最高点。绿色表示它正在下降并偏离最高点。

我不是专业的程序员,只是试图使用旧的BASIC意大利面条代码工作的退休技术人员。不是很漂亮,但通常可以。 :)

1 个答案:

答案 0 :(得分:0)

据我对您的问题的了解,您正在尝试根据值对每行的一部分或全部进行着色。我不知道如何实现这一目标,但是我可以提供替代解决方案。

AutoHotkey的ListView可以在每行的开头显示一个图标。如果您当前不使用这些图标,则可以根据您选择的值更改图标来达到目的。

从AutoHotkey文档中:

链接:ListView - ImageList

  

图像列表是存储在内存中的一组大小相同的图标。   创建后,每个ImageList为空。该脚本调用IL_Add()   反复将图标添加到列表,然后为每个图标分配一个   从1开始的序号。这是   脚本是指在行或列标题中显示特定图标。   这是一个工作示例,演示了如何将图标放入   ListView的行:

Gui, Add, ListView, h200 w180, Icon & Number|Description  ; Create a ListView.
ImageListID := IL_Create(10)  ; Create an ImageList to hold 10 small icons.
LV_SetImageList(ImageListID)  ; Assign the above ImageList to the current ListView.
Loop 10  ; Load the ImageList with a series of icons from the DLL.
    IL_Add(ImageListID, "shell32.dll", A_Index) 
Loop 10  ; Add rows to the ListView (for demonstration purposes, one for each icon).
    LV_Add("Icon" . A_Index, A_Index, "n/a")
LV_ModifyCol("Hdr")  ; Auto-adjust the column widths.
Gui Show
return

GuiClose:  ; Exit the script when the user closes the ListView's GUI window.
ExitApp

工作示例

我以Gist here的形式发布了一个工作示例以及一些不同的图标集。

Preview of Working Example