delphi.gif (306 バイト) StringGridの使い方


StringGridは文字列を表として表示したり管理したりする時使用します。

toach.gif (917 バイト) 行と列を数を変更するには

ColCountプロパティとRowCountプロパティを変更します。

 

toach.gif (917 バイト) セルの高さと幅を変更するには

デフォルトではセルの高さが24pixelあるので変更したくなります。これは、DefaultRowHeightプロパティで行います。
幅の変更は、DefaultColWidthプロパティで行います。

 

toach.gif (917 バイト) セルの幅や高さをユーザが自由に変更できるようにするには

StringGridはデフォルトではセルの幅や高さをユーザが変更できないので、Excelのように自由に変更できるようにしたほうが便利です。これはオブジェクトインスペクタのOptionプロパティをダブルクリックしてサブプロパティを表示させ、goRowSizingとgoColSizingをTrueにします。

 

toach.gif (917 バイト) 現在選択されているセルを得るには

Rowプロパティは現在選択されている行を示します。Colプロパティは現在選択されている列を示します。

 

toach.gif (917 バイト) セルに文字列を代入するには

Cells[i, j]に文字列を代入します。左上隅が座標(0, 0)です。

Form2.ShowModal;
i := Form2.Row;
j := Form2.Column;
v := Form2.Value;
StringGrid1.Cells[i, j] := v;

toach.gif (917 バイト) 1列(または1行)のセルの内容を配列として得るには

Cols(Rows)プロパティを使用すると1列(1行)のセルの内容を配列のように扱うことができます。ColsはTSrings型なのでつぎのようにしてセルの内容をアクセスします。

value := Cols[0].Strings[0];

 

toach.gif (917 バイト) セルに文字列をキー入力するには

OnKeyPressedイベントハンドラを定義して、カレントセルに文字を追加していきます。

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
    with StringGrid1 do
    Cells[Col, Row] := Cells[Col, Row] + Key;
end;