gpt4 book ai didi

delphi - 有没有办法更改 Windows 7 中 Windows 资源管理器中项目的文本背景颜色?

转载 作者:行者123 更新时间:2023-12-03 15:17:54 25 4
gpt4 key购买 nike

http://screenshots.en.sftcdn.net/en/scrn/39000/39972/xentient-labels-1.jpg

可以更改 Windows 资源管理器中项目的背景颜色,例如 Xentient Labels应用程序有什么作用?是否可以在 Windows 7 中的 Delphi XE2 中执行此操作?

最佳答案

在 Windows 7 中不可能执行此操作,因为 Windows 资源管理器的 ListView 使用 DirectUIHWND 而不是 Windows XP 中的 SysListView32DirectUIHWND 类控件不会监听 ListView 消息,因此您不能使用 ListView_SetTextBkColor宏可以像在 Windows XP 上一样更改文本背景颜色。

通过下面的简单测试就可以验证一下。让我们在表单上添加一个编辑框和按钮。在该编辑框中输入 Windows 资源管理器的 ListView 控件的句柄(例如通过 Spy++ 获得),然后按按钮运行以下代码:

uses
Winapi.CommCtrl;

procedure TForm1.Button1Click(Sender: TObject);
var
ListViewHandle: HWND;
begin
ListViewHandle := StrToInt(Edit1.Text);
ListView_SetTextBkColor(ListViewHandle, $0000CCFF);
end;

这张来自 Windows 7 的 Spy++ 屏幕截图显示了资源管理器 ListView 的类名(在 Windows XP 中,它是由标准 ListView 消息控制的 SysListView32,而 DirectUIHWND 则不能)不要对它们使用react)。

enter image description here

关于delphi - 有没有办法更改 Windows 7 中 Windows 资源管理器中项目的文本背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com