当鼠标移动到TListView项目上方时,会出现蓝色轮廓(请参见图片)。我将如何删除它?TListView - 当鼠标悬停在物品上时,不要绘制该蓝色矩形。怎么样?
我知道的唯一方法就是手动完成所有项目的绘制......但也许有一个更简单的方法?试图HotTrack =假,不利于:(
当鼠标移动到TListView项目上方时,会出现蓝色轮廓(请参见图片)。我将如何删除它?TListView - 当鼠标悬停在物品上时,不要绘制该蓝色矩形。怎么样?
我知道的唯一方法就是手动完成所有项目的绘制......但也许有一个更简单的方法?试图HotTrack =假,不利于:(
这幅画是由特殊的探险主题所做的事被添加到由TCustomListView.CreateWnd
到SetWindowTheme(Handle, 'explorer', nil)
呼叫控制。如果使用默认主题那么您将无法获得热跟踪您可以通过恢复浏览器窗口的主题,发生例如在中介类:。
type
TListView = class(ComCtrls.TListView)
protected
procedure CreateWnd; override;
end;
....
procedure TListView.CreateWnd;
begin
inherited;
SetWindowTheme(Handle, nil, nil);
end;
当然,你也将失去一切的探险主题增加。
据我所知,没有任何通知消息允许你压制资源管理器主题热追踪绘画。
为什么你想违背平台的标准做事方式?该蓝色矩形对用户来说是非常重要的提示。它告诉他如果他点击那里然后选择什么。 – 2013-03-01 09:11:14
我使用项目的自定义背景颜色,并将鼠标移动到项目上时,此背景消失。 – djsoft 2013-03-01 10:50:44
好吧,对你好,你保持它的功能只是以不同的方式实施它。 – 2013-03-01 10:53:58