> 全て「罠」になっちゃいます.
この「罠」を利用すると,以下のようなことができます.
先のサンプルの Array2 := Array1 と同じです.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
LSG : TStringGrid;
begin
// LSGのインスタンスは生成していないが
// StringGrid1のインスタンスを代入している
// LSGとStringGrid1は同じになる(同じメモリアドレスを示す)
LSG := StringGrid1;
if ACol = 2 then begin
LSG.Canvas.Brush.Style := bsSolid;
LSG.Canvas.Brush.Color := RGB(0, 150, 0);
LSG.Canvas.FillRect(Rect);
end;
end;
|