|
||
解説: StringGridのセルに値を入力する場合など、ComboBoxのようにいくつかの決まった候補が表示され、選択できれば操作が楽になります。 C++Builderではコンポーネントを動的に配置することができます。 これを利用して、StringGridにComboBoxを配置してみます。 使用例: 以下の例では、アプリケーション起動後、StringGridにComboBoxが表示されます。 準備としてはStringGridを適当に配置するだけです。 OnCreateイベントハンドラでStringGridの上にComboBoxを動的に配置しています。 実際にはComboBoxに候補値を代入しておくコードや選択された値をStringGridのセルに入力する処理、ComboBoxの表示方法など考慮する点があります。 それらを今回は省いてありますので、頑張ってコードを追加してみてください。 他のコンポーネントの配置も試してみるといいでしょう。 //------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { TComboBox *combobox = new TComboBox(this); combobox->Parent = this; int def_width = StringGrid1->DefaultColWidth; int def_height = StringGrid1->DefaultRowHeight; combobox->Width = def_width; combobox->Height = def_height; combobox->Left = StringGrid1->Left + (def_width + 1) + 1; combobox->Top = StringGrid1->Top + (def_height + 1) + 3; combobox->Visible = true; } //------------------------------------------------------------------- |