TListView AdvancedCustomDrawItem рисует черный прямоугольник при наведении мыши

С помощью 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 отключен.

Как избежать черной полосы?

0 ответов

Другие вопросы по тегам