|
||
解説: アプリケーションでは、場面に応じて、動的にコンポーネントを作成することがあります。 プロパティの設定もコードで簡単にできます。では、イベントハンドラはどのように設定すればいいでしょう? これも簡単にできます。 使用例: 以下の例では、ボタンを動的に作成して、OnClick イベントを割り当てています。 配置するコンポーネントは特にありません。 まず、動的に作成するボタンのイベントハンドラ BtnOnClick を作成します。 private に void __fastcall BtnOnClick(TObject *Sender); と宣言しておいてください。 クリック時の処理は、"ok" メッセージを表示する簡単なものです。 OnCreate でボタンを動的に配置させます。イベントは btn の OnClick に割り当てます。 アプリケーションを起動して、"Btn" ボタンをクリックしてみてください。 他のイベントでも試してみてください。 //------------------------------------------------------------------- void __fastcall TForm1::BtnOnClick(TObject *Sender) { ShowMessage("ok"); } //------------------------------------------------------------------- TButton *btn; //------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { btn = new TButton(this); btn->Parent = this; btn->Caption = "Btn"; btn->Left = 10; btn->Top = 10; btn->OnClick = BtnOnClick; } //------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { delete btn; } //------------------------------------------------------------------- |