当鼠标移动到 TListView 项目上方时,会出现蓝色轮廓(见图)。我将如何删除它?
我知道的唯一方法是手动绘制所有项目......但也许有更简单的方法?试过 HotTrack=False,没有帮助:(
当鼠标移动到 TListView 项目上方时,会出现蓝色轮廓(见图)。我将如何删除它?
我知道的唯一方法是手动绘制所有项目......但也许有更简单的方法?试过 HotTrack=False,没有帮助:(
那幅画是由特殊的探险家主题完成的。通过调用 in 将其添加到控件SetWindowTheme(Handle, 'explorer', nil)
中TCustomListView.CreateWnd
。如果您使用默认主题,那么您将无法获得热跟踪。您可以通过还原资源管理器窗口主题来实现这一点。例如在插入器类中:
type
TListView = class(ComCtrls.TListView)
protected
procedure CreateWnd; override;
end;
....
procedure TListView.CreateWnd;
begin
inherited;
SetWindowTheme(Handle, nil, nil);
end;
当然,您也会失去资源管理器主题添加的所有其他内容。
据我所知,没有通知消息可以让您抑制资源管理器主题热跟踪绘画。