如何在Delphi ListView上关闭hottracking?

时间:2013-06-19 14:45:57

标签: windows delphi winapi

我在表单上有一个简单的ListView,我想完全关闭hottracking。 HotTracking属性设置为False,但在鼠标光标下的项目上仍然有一个蓝色矩形...

Delphi XE3,Windows 7

1 个答案:

答案 0 :(得分:5)

该矩形是资源管理器主题的一部分。资源管理器主题是可选的,列表视图类选择使用它并通过调用CreateWnd将其强加于SetWindowTheme。您可以通过调用SetWindowTheme来撤消更改来覆盖该行为。

使用插入器类的示例:

uses
  Vcl.ComCtrls, Winapi.UxTheme;

type
  TListView = class(Vcl.ComCtrls.TListView)
  protected
    procedure CreateWnd; override;
  end;

procedure TListView.CreateWnd;
begin
  inherited;
  SetWindowTheme(WindowHandle, nil, nil);
end;