お世話になります。宜しくお願い致します。
22(列)×21(行)のStringGridを表示する時に11行目のセル全てを黄色(clYellow)で塗りたいと思っております。
ヘルプや参考書や過去ログを参考にしましたが、StringGrid内全てを
塗ることしかできませんでした。
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
canvas:tcanvas;
begin
canvas:=tdrawgrid(sender).Canvas;
canvas.Brush.Color:=clYellow;
canvas.FillRect(rect);
end;
色々試したのですが、11行目の指定のしかたで行き詰ってしまいます。
ご存知の方いらっしゃいましたらご指導いただけますでしょうか。
宜しくお願い申し上げます。
If ARow = 11 Then
With StringGrid1.Canvas Do
Begin
Brush.Color := clBlue; //適当な背景色
FillRect(Rect);
Font.Color := clWhite; //文字の色
//文字の書き直し
DrawText(Handle, PChar(StringGrid1.Cells[ACol,ARow]),
Length(StringGrid1.Cells[ACol,ARow]),
Rect,
DT_RIGHT);
End;
HOotaさん、こんにちは。
ものすごい早いレスをいただきありがとうございます。
実行したところ、やりたかった通りの結果になりました。
大変感謝申し上げます。どうもありがとうございました。
ツイート | ![]() |