2

Form1 と Form2 を使用するプログラムがあります。ボタンをクリックして form1 から form2 を開くにはどうすればよいですか?

4

2 に答える 2

7

もう少しだけ情報

これを Project.cpp に入れます: Application->CreateForm(__classid(TForm2), &Form2); アプリケーションの起動時にフォームが作成されることを意味します。

ボタンをクリックしたときに自分でフォームを作成する場合は、次の手順を実行します

TForm2 *Form = new TForm2( this );
Form->ShowModal();

たとえば、カスタム コンストラクターを使用する必要がある場合は、必要な値を渡す新しいフォームを作成することもできます。例えば

TForm2 *Form = new TForm2( this, "My New Form" , Now() );
Form->ShowModal();

フォームの所有者を設定する以外の上記のメソッドは、文字列と TDateTime を渡し、フォーム コンストラクターでそれらを使用して何らかの処理を行うことができます。

これらのフォームを自分で作成した場合は、削除する必要があることに注意してください。

他のボタンやコントロールもフォームにアクセスできるようにするには、次のことを行う必要があります

ヘッダーのプライベート セクションに次を追加します。

TForm2 *Form;

cpp に戻って、使用する前にフォームを作成する必要があります。これは以前のものとは少し異なります。

Form = new TForm2( this );
Form->ShowModal();

しかし、フォームにアクセスしてキャプションを更新したい場合は、簡単に行うことができます

Form->Caption = "Changed Caption";

フォームのキャプションが変更されます

于 2012-06-21T21:12:15.960 に答える
5

ボーランド何?デルフィ?C++ビルダー?

Delphi の場合: DelphiForm2が Project.dpr にのインスタンスを作成したことを確認します。次に、ユニット名をユニット内の節の1 つにApplication.CreateForm(TForm2, Form2); 追加すると、またはを使用できます。Form2usesForm1Form2.Show;Form2.ShowModal;

C++ の場合: C++ BuilderForm2が Project.cpp にのインスタンスを作成したことを確認します。次に、ユニットの .hpp ファイルのステートメントをユニットの .cpp ファイルにApplication->CreateForm(__classid(TForm2), &Form2); 追加すると、またはを使用できます。#includeForm2Form1Form2->Show();Form2->ShowModal();

于 2012-05-29T07:47:12.987 に答える