procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if (Item.Index mod 2) = 0 then begin Sender.Canvas.Brush.Color := $FFE0FF; end else begin Sender.Canvas.Brush.Color := $FFFFE0; end; end;
Canvasの属性だけを変更して実際の描画はDefaultDraw = TrueのままでTListViewに任せるのがポイントです。
同じように文字の色やスタイルなどの属性を変えるにはSender.Canvas.Font.ColorやSender.Canvas.Font.Styleを変更します。
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if cdsSelected in State then begin Sender.Canvas.Font.Style := Sender.Canvas.Font.Style + [fsBold]; end; end;
0 件のコメント:
コメントを投稿