掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
自身を含む複数フォームの生成と破棄 (ID:22963)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
自分が使っているソースの流用ですが。こういうのはどうでしょう? 1.フォーム分のスピードボタンを用意。フォームの管理はスピードボタンのTAGプロパティで識別。 2.フォーム作成時にINIファイルを読み込み対応するスピードボタンを動かす。(DownプロパティやClickイベント?) 3.呼び出したフォームの親をメインフォーム(Form1)に設置しているPanel1に設定 uses Unit2, Unit3, Unit4; procedure TForm1.SpdBtnModeUSCDClick(Sender: TObject); var NewFormClass: TFormClass; NewForm: TForm; begin //フォームを指定 case (Sender as TSpeedButton).Tag of 0: NewFormClass := TForm2; 1: NewFormClass := TForm3; 2: NewFormClass := TForm4; else NewFormClass := nil; end; //表示しているフォームの破棄 if Panel1.ControlCount > 0 then Panel1.Controls[0].Free; //フォームの設定 if Assigned(NewFormClass) then begin NewForm := NewFormClass.Create(Self); NewForm.Hide; NewForm.BorderStyle := bsNone; NewForm.Parent := PnlOwner; NewForm.Align := alClient; NewForm.Show; end; end; //----------------------------------------------------------- procedure TForm2等.FormDestroy(Sender: TObject); begin //必要な廃棄処理 end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.