掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MDIで子ウィンドウ同士をドッキングするには (ID:23235)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
MDIの親フォーム1つ(MainForm)と子フォーム2つ(Form1,Form2) を作成してMainFormからForm1を起動させるところまでできました。 このForm1にタブコントロールを置いてForm2をドッキングして 表示させようとしていますが、うまくいきません。 Delphi5の環境です。 TFormPanelのコンポーネントを使用すると似たようなことができる のですが、できれば使わずにやりたいと思います。 Form2の作成は、タブを切り替えたときにやっているのですが、 タイミングに問題があるのでしょうか? また、特定の子ウィンドウを削除する方法もわかりません。 何か良い方法は、無いでしょうか? {===Form1のタブを切り替えたとき===} procedure TForm1.TabCtrlChange(Sender: TObject); var Child01: TForm2; i: Integer; begin // ドッキング画面の表示切替 with TabCtrl do begin if (TabIndex >= 0) and (TabIndex < Tabs.Count) then begin // *ここで表示中のドッキング画面の削除がいると思う。* // // ドッキング画面を設定する if Tabs[TabIndex] = ' AAA ' then begin { MDI 子ウィンドウを作成する } Child01 := TForm2.Create(Application); Child01.Caption := Caption; end; end; end; end; {===Form2のCreate時===} procedure TForm2.FormCreate(Sender: TObject); begin //Form1にドッキング ManualDock( TForm1(MainForm.ActiveMDIChild), nil, AlClient ); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.