|
||
解説: StringGrid はセルに数値を代入して計算ができます。エクセルのように本格的な計算をするには、工夫が必要ですが、アプリケーション内で簡易的に利用するには、少しのコードを追加すれば実現できます。 今回は単純な足し算をしてみます。 使用例: 以下の例では、アプリケーション起動後、セルに数字を入力すると計算結果がセルに表示されます。 準備として StringGrid を配置したあと、オブジェクトインスペクタで ColCount プロパティを 4、Options プロパティの goEditing を true に設定しておきます。 OnKeyUp イベントハンドラに、入力されたセルの数字が足し算されるようにコードを記述します。 まず入力されたセルの数字を調べ、数値に変換します。計算が可能であれば合計が右端のセルに表示されます。 簡易的な計算でしたので、もう少し使いやすく工夫してみてください。 //------------------------------------------------------------------- void __fastcall TForm1::StringGrid1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { static int line = 1; int x = StrToIntDef(StringGrid1->Cells[1][line], 0); int y = StrToIntDef(StringGrid1->Cells[2][line], 0); StringGrid1->Cells[3][line] = IntToStr(x + y); line = StringGrid1->Row; } //------------------------------------------------------------------- |