如何关闭Delphi ListView的热跟踪



我在表单上有一个简单的ListView,我想完全关闭热跟踪。HotTracking属性设置为False,但在鼠标光标下的项目上方仍绘制了一个带蓝色的矩形…

Delphi XE3, Windows 7

这个矩形是浏览器主题的一部分。资源管理器主题是可选的,列表视图类选择使用它,并通过调用SetWindowTheme将其强加到CreateWnd中。您可以通过调用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;

最新更新