Delphi: рисовать строки ListView - PullRequest
0 голосов
/ 04 июля 2011

У меня есть ListView (vsReport): последний подэлемент имеет текст «wait». Тогда я изменю это на "хорошо" или "ошибка". Как нарисовать целую строку (если использовать Sender.Canvas.Brush.Color в CustomDrawItem, это будут промежутки между столбцами в Windows 7) с этим подэлементом зеленым (нормально) и красным (ошибка)?

Спасибо!

1 Ответ

1 голос
/ 04 июля 2011

Вы можете сделать

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.Index = Sender.Items.Count - 1 then
  begin
    Sender.Canvas.Brush.Color := clSkyBlue;
    Sender.Canvas.FillRect(Item.DisplayRect(drBounds));
  end;
end;

, но я советую против этого, потому что он глючит (и я не знаю, как это исправить).

Снимок экрана http://privat.rejbrand.se/listviewentirerowfill.png

...