Я использую TTNTListView в Delphi 7. Для него установлено значение vsReport. В событии OnCustomDrawSubItem я использую этот код:
procedure TForm.ListViewCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if SubItem = 2 then
if (Item.SubItems.Strings[1] = Text1) or (Item.SubItems.Strings[1] = Text2) then
Sender.Canvas.Font.Color := clGreen
else
Sender.Canvas.Font.Color := clRed;
end;
Проблема в том, что все подэлементы >= 3 отрисовываются тем же цветом, что и подэлемент 2. Я проверил, и для SubItem >= 3 Sender.Canvas.Font.Color имеет значение clBlack, но они отрисовываются с помощью clRed и clGreen. Если это проблема в моем коде, пожалуйста, покажите мне, как это исправить. Если это ошибка, может быть, кто-то знает обходной путь. Спасибо.