Form1 と Form2 を使用するプログラムがあります。ボタンをクリックして form1 から form2 を開くにはどうすればよいですか?
2 に答える
もう少しだけ情報
これを 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";
フォームのキャプションが変更されます
ボーランド何?デルフィ?C++ビルダー?
Delphi の場合: DelphiForm2
が Project.dpr にのインスタンスを作成したことを確認します。次に、ユニット名をユニット内の節の1 つにApplication.CreateForm(TForm2, Form2);
追加すると、またはを使用できます。Form2
uses
Form1
Form2.Show;
Form2.ShowModal;
C++ の場合: C++ BuilderForm2
が Project.cpp にのインスタンスを作成したことを確認します。次に、ユニットの .hpp ファイルのステートメントをユニットの .cpp ファイルにApplication->CreateForm(__classid(TForm2), &Form2);
追加すると、またはを使用できます。#include
Form2
Form1
Form2->Show();
Form2->ShowModal();