ストリンググリッドの列に、色を付けるのは上手くいったのですが、行全体につける方法がうまくいったようでうまくいきません。
と言うのは、1行の各列毎に異なるタイトル文字を設定しており、色付けしてタイトル列にしようとしています。下記の色付け処理をすると色付けは上手く行きますが、最終列のタイトル文字を各列に全て設定してしまい内容が同じになってしまいます。
StrGrdUnten.Canvas.Brush.Color := clGreen;
for iCol:=0 to StrGrdUnten.ColCount-1 do
begin
StrGrdUnten.canvas.TextRect(rect,rect.Left,rect.Top,StrGrdUnten.cells[iCol,1]);
end;
列1 列2 列3
A B C
↓
C C C ←各列の色はグリーンになるが、全て列3のテキスト内容になって
しまう。
上記処理で、間違いがあれば教えてください。
OnDrawCellのときに上のコードを実行してるなら、for文は不要です。
StrGrdUnten.Canvas.Brush.Color := clGreen;
StrGrdUnten.canvas.TextRect(
rect,rect.Left,rect.Top,StrGrdUnten.cells[ACol,ARow]);
ありがとうございます。上手くできました。
ツイート | ![]() |