[Delphi] TStringGrid
トップページへ
「Delphi(楽天市場で探す ・ amazonで探す)でExcelのような表計算スタイルでデータを表示できるStringGridの基礎」です。
※全てのDelphiで動作する保証はありません。また、内容に関し管理人は全ての責任を負いかねます。
最低限、下記のプロパティ、メソッドがわかれば使用することができると思います。
カーソルのあるセル(アクティブセル)の位置を把握し、そのセルに値(dmy)をセット
var
arow,acol: Integer;
begin
arow := StringGrid.Row;
acol := StringGrid.Col;
StringGrid.Cells[acol,arow] := ‘dmy’;
見出し列、見出し行:
FixedCols, FixedRows
列数、行数:
ColCount、RowCount
初期の列幅、行高:
DefaultColWidth, DefaultRowHeight
列幅を変える:
e.g. TForm.OnCreateなどで TStringGird.ColWidths[0] := 400;
セルを指定する場合:
e.g. 列2行3のセル
StringGrid.Cells[1,2]
*0始まり。先頭のセルは StringGrid.Cells[0,0]
特定のセルにカーソルをセットする
eg. 1行目の8列目のセルへ
StringGrid.Col := 7;
StringGrid.Row := 0;
StringGrid.SetFocus;
編集(文字入力を可能に):
Options の goEditing
さらに編集が容易にする(マウスのクリック回数が減る):
Options の goAlwaysShowEditor
タブキーでセル間を移動:
Options の goTabs
文字列にスペース,カンマ,または引用符がある場合に分割して一括セット:
e.g. TStringGird.Rows[i].CommaText := 文字列(一行分);
例えばフォーム作成時にセル幅を指定し、文字列をセットする場合
※フォームデザイン時に「2行、3列」「見出し行、列はともに0」と指定済み
procedure TForm1.FormCreate(Sender: TObject); begin StringGrid.ColWidths[0] := 100; StringGrid.ColWidths[1] := 50; StringGrid.ColWidths[2] := 50; StringGrid.Rows[0].CommaText := 'ABCDEFG,123,あいう'; StringGrid.Rows[1].CommaText := '日本統一テスト,1235名,予選'; end;
この画像が実行結果で、セットする文字列(一行分)をカンマで区切っていたので、各セルごとに文字列がセットされました。
→Delphiメニューへ戻る