5

私の Delphi 7 アプリケーションには、作成済みの複数のフォームが含まれています。個々のフォームを 1 つのコンテナー フォームの個別のタブに表示したいと考えています。私は Delphi を初めて使用するため、どのアプローチを採用すればよいかわかりません。Delphi でこれを達成するためにどのような方法を使用できますか?

ありがとうございます。

4

3 に答える 3

8
  1. ページ コントロールを作成しますTPageControl
  2. 7ページ追加。
  3. 7 つのフォームを作成します。
  4. 各フォームをタブシートに追加します。

最後の手順は次のとおりです。

Form1.Parent := TabSheet1;
Form1.Align := alClient;
Form1.BorderStyle := bsNone;
Form1.ParentBackground := True;

7 つのフォームと 7 つのタブシートに対してこれを実行しているため、配列で実行し、上記のコードをメソッドに抽出する必要があります。

于 2013-02-06T17:23:29.630 に答える
7

簡単な方法は、ManualDock を使用することです。

var
 i:Integer;
begin
    // caption of then new tab sheet will be the caption of the form

    Form2.ManualDock(Pagecontrol1);
    Form2.Show;

    // or as loop
    for I := 0 to 5 do
        begin
          With TForm2.Create(self) do
            begin

                ManualDock(Pagecontrol1);
                Show;
            end;
        end;
     Pagecontrol1.ActivePageIndex := 0;
end;
于 2013-02-06T18:42:34.567 に答える
6

フォームの代わりに、それらを個別のフレームにしてからTFrame、オブジェクトの個別のタブでコンポーネントを使用しTPageControlて、必要なタブ レイアウトを生成します。これはコード不要のソリューションです。

于 2013-02-06T22:03:59.643 に答える