|
||
解説: MDI アプリケーションは、[新規作成] から自動的に作成できます。自動的に作成されると、便利でいいのですが、どのようにできているのか分からないままになりがちです。 今回は、面倒を承知で、わざわざ作ってみます。時には、このような手順を踏むのも腕をあげるひとつの方法です。 ざっと流れを記述してみます。 (1) Project1.cpp 作成。 (2) Form2 追加。 いろいろ設定。 (3) Form1 に [File]-[New] メニュー作成。 いろいろ設定。 そう難しいことはありません。 使用例: 例では、アプリケーションを起動して、Form1 の [New] メニューをクリックすると子フォームが作成されます。 コンポーネントの設定とコーディングです。 (1) Project1.cpp を作成。 Form1 の FormStyle プロパティを fsMDIForm にします。 (2) Form2 追加。 FormStyle プロパティを fsMDIChild にします。 OnClose イベントハンドラに Action = caFree; を記述。 Form2 を [選択可能なフォーム] に設定。 (3) Form1 に(MainManu を配置して)[File]-[New] メニュー作成。 [New] メニューの OnClick イベントに以下を記述。 TForm2 *Form2; Form2 = new TForm2(Application); "Unit1.cpp" に "Unit2.h" をインクルード。 これで Form1 の [New] メニューをクリックすると子フォームが作成されるようになります。 枠組みができましたので、時間のある方は、必要になるイベントハンドラを記述して、アプリケーションとしての形を整えていってください。 #include "Unit2.h" //------------------------------------------------------------------- void __fastcall TForm1::New1Click(TObject *Sender) { TForm2 *Form2; Form2 = new TForm2(Application); } //------------------------------------------------------------------- void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action) { Action = caFree; } //------------------------------------------------------------------- |