ストリンググリッドの1行の色付け方法

解決


リュウ  2004-09-16 05:52:40  No: 10926

ストリンググリッドの列に、色を付けるのは上手くいったのですが、行全体につける方法がうまくいったようでうまくいきません。
と言うのは、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のテキスト内容になって
                しまう。
  

上記処理で、間違いがあれば教えてください。


ggg  2004-09-16 06:18:12  No: 10927

OnDrawCellのときに上のコードを実行してるなら、for文は不要です。

StrGrdUnten.Canvas.Brush.Color := clGreen;
StrGrdUnten.canvas.TextRect(
    rect,rect.Left,rect.Top,StrGrdUnten.cells[ACol,ARow]);


リュウ  2004-09-16 06:37:08  No: 10928

ありがとうございます。上手くできました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加