私は所有者がOnCustomDrawItem
を使用して4列のレポートモードでリストビューコントロールを描画しようとしています。単純なTListView OwnerDrawテキストのフォントサイズと色の例?
Canvas.font.colorを変更しようとすると、それだけで問題はありません。
canvas.font.sizeを設定すると、コントロールによって描画されるテキストのサイズに変化がないことがわかります。
テキストのペイントを引き継ぐ場合、OnCustomDrawItem内から、私は見つけることができません。私はOnCustomDrawを使用して背景領域を描画する方法を知っていますが、テキストの色とフォント名とフォントサイズを設定できるように、カスタムでリストビュー項目を描画します。
私は、ListViewの所有者描画のコンテキストでCanvasを使用する際にいくつかの問題があり、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;
関連するがフォントサイズを変更しないでください:http://stackoverflow.com/questions/7696499/how-change-text-color-in-a-column-in-ttntlistview –
あなたは異なるフォントサイズとフォントフェイスが必要ですか?別のアイテム?それは私がする方法を働くことができないものです。 –
明らかに、フォントサイズは変更できますが、すべての行の高さは同じでなければならないため、既存の行の高さにすべて合う範囲内でのみフォントサイズを変更できます。 –