Пример простого шрифта TListView OwnerDraw Размер шрифта и цвет?
Я пытаюсь владелец нарисовать элемент управления List View в режиме отчета с 4 столбцами, используяOnCustomDrawItem
.
Когда я пытаюсь изменить Canvas.font.color, и это все, что я делаю, у меня нет проблем.
Если я установлю canvas.font.size, я обнаружу, что размер текста, нарисованного элементом управления, не меняется.
Если я пытаюсь взять на себя рисование текста, изнутри OnCustomDrawItem, я не могу найти. Я знаю, как использовать OnCustomDraw для рисования в фоновой области, но я хочу, чтобы пользователь рисовал элемент списка, чтобы я мог установить цвет, имя шрифта и размер шрифта текста.
Я знаю, что есть некоторые проблемы с использованием Canvas в контексте рисования владельца ListView, и некоторые ограничения того, что вы можете делать в ListView.
procedure TForm1.MyListViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
Sender.Canvas.Font.Size := 13; // NO effect.
Sender.Canvas.Font.Color := clRed; // WORKS.
Sender.Canvas.Font.Style :=Sender.Canvas.Font.Style + [fsBold]; // WORKS!
end;