バーチャルモードでListViewを描画しております。
CustomDrawItemを利用すれば、行ごとに色を変えることはできるのですが、列ごとに色を変える方法が分かりません。
大変お手数ですが、列ごとに色を変える方法を知っておられる方が居られましたら
ご教授頂ければと思います。
> バーチャルモードで
というのが、よくわからないので、外しているかもしれませんが・・・
OnAdvancedCustomDrawSubItemイベントにて、
procedure TForm1.ListView1AdvancedCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
begin
case SubItem of
1: Sender.Canvas.Brush.Color := clBlue;
2: Sender.Canvas.Brush.Color := clLtGray;
3: Sender.Canvas.Brush.Color := clSkyBlue;
else Sender.Canvas.Brush.Color := clWhite;
end;
end;
のような感じでしょうか?
igyさん
ご回答ありがとうございました。
OnAdvancedCustomDrawSubItemイベントでイメージ通りの対応ができました。
ツイート | ![]() |