使用Delphi Berlin,我有一个带有单个列的TListView和AdvancedCustomDrawItem中的以下代码:
procedure TDetailedStatisticForm.lv_ProductsAdvancedCustomDrawItem(
Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
r : TRect;
begin
if Stage = TCustomDrawStage.cdPrePaint then
begin
Sender.Canvas.Brush.Color := FStatistics.Products[Item.Index].Color;
r := Item.DisplayRect(drLabel);
r.Right := Item.DisplayRect(drBounds).Right;
Sender.Canvas.FillRect(r);
Sender.Canvas.Font.Color :=
FStatistics.Products[Item.Index].FontColor;
end;
DefaultDraw := true;
end;
我要实现的是,这些项目具有彩色背景,而其余的使用默认图形。那行得通,但是一旦我将鼠标移到某个项目上,它就会在该项目的标题所在的位置绘制一个黑条。 HotTrack已关闭。
如何避免黑条?