Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi TListView-当鼠标位于项目上方时,不要绘制蓝色矩形。怎么用?_Delphi_Drawing_Tlistview_Custom Draw - Fatal编程技术网

Delphi TListView-当鼠标位于项目上方时,不要绘制蓝色矩形。怎么用?

Delphi TListView-当鼠标位于项目上方时,不要绘制蓝色矩形。怎么用?,delphi,drawing,tlistview,custom-draw,Delphi,Drawing,Tlistview,Custom Draw,当鼠标移动到TListView项目上方时,会出现蓝色轮廓(见图)。我该如何移除它 我知道的唯一方法是手动绘制所有项目。。。但也许有更简单的方法?已尝试HotTrack=False,没有帮助:( 该绘制由特殊的资源管理器主题完成。通过调用SetWindowTheme(句柄'explorer',nil)将其添加到控件中TCustomListView.CreateWnd中的。如果使用默认主题,则不会获得热跟踪。可以通过还原资源管理器窗口主题来实现这一点。例如,在插入器类中: type TListV

当鼠标移动到TListView项目上方时,会出现蓝色轮廓(见图)。我该如何移除它

我知道的唯一方法是手动绘制所有项目。。。但也许有更简单的方法?已尝试HotTrack=False,没有帮助:(


该绘制由特殊的资源管理器主题完成。通过调用
SetWindowTheme(句柄'explorer',nil)将其添加到控件中
TCustomListView.CreateWnd中的
。如果使用默认主题,则不会获得热跟踪。可以通过还原资源管理器窗口主题来实现这一点。例如,在插入器类中:

type
  TListView = class(ComCtrls.TListView)
  protected
    procedure CreateWnd; override;
  end;
....    
procedure TListView.CreateWnd;
begin
  inherited;
  SetWindowTheme(Handle, nil, nil);
end;
当然,您还将丢失explorer主题添加的所有其他内容


据我所知,没有任何通知消息允许您抑制资源管理器主题热跟踪绘制。

该绘制由特殊的资源管理器主题完成。通过调用
SetWindowTheme(句柄,'explorer',nil)将其添加到控件中
TCustomListView.CreateWnd中的
。如果使用默认主题,则不会获得热跟踪。可以通过还原资源管理器窗口主题来实现这一点。例如,在插入器类中:

type
  TListView = class(ComCtrls.TListView)
  protected
    procedure CreateWnd; override;
  end;
....    
procedure TListView.CreateWnd;
begin
  inherited;
  SetWindowTheme(Handle, nil, nil);
end;
当然,您还将丢失explorer主题添加的所有其他内容


据我所知,没有任何通知消息允许您取消浏览器主题热跟踪绘制。

为什么要违反平台的标准操作方式?蓝色矩形对用户来说是一个非常重要的提示。它告诉用户,如果单击此处,然后单击,将选择什么。我使用自定义backgr为项目设置颜色,当鼠标移动到项目上时,该背景消失。啊,好吧,你很好,你保持了它的功能,只是以不同的方式实现它。为什么你想违背平台的标准做法?蓝色矩形对用户来说是一个非常重要的提示。它告诉用户如果他点击那里然后。我为项目使用自定义背景色,当鼠标移动到项目上时,背景消失。啊,好的,对你来说很好,你保持了它的功能,只是以不同的方式实现它。嗯…更改整个控件主题有点过火:)我想我需要自己实现完整的项目绘制。看起来我不需要重新发明轮子,所以这个问题有代码来绘制项目:以防其他人会寻找这个:)嗯。。。更改整个控件主题有点过火:)我想我需要自己实现完整的项目绘制。看起来我不需要重新发明轮子,所以这个问题有代码来绘制项目:以防其他人会寻找此:)