如何使用C++ Builder打开带有按钮的新表单?

Jos*_*hez 1 c++builder

我有一个Form1和Form2的程序.如何从form1单击按钮打开form2?

小智 5

博兰什么?德尔福?C++ Builder?

对于Delphi:确保Delphi Form2在Project.dpr中创建了一个实例:Application.CreateForm(TForm2, Form2); 然后将Form2单元名称添加到单元中的一个uses子句中Form1,然后您可以使用Form2.Show;Form2.ShowModal;.

对于C++:确保C++ Builder Form2在Project.cpp中创建了一个实例:Application->CreateForm(__classid(TForm2), &Form2); 然后将单元#include的.hpp文件的语句添加到Form2单元的.cpp文件中Form1,然后可以使用Form2->Show();Form2->ShowModal();.


Sha*_*776 5

再多一点信息

在你的Project.cpp中有这个:Application-> CreateForm(__ classid(TForm2),&Form2); 表示在您启动应用程序时将创建表单.

如果您想在单击按钮时创建自己的表单,请执行以下操作

TForm2 *Form = new TForm2( this );
Form->ShowModal();
Run Code Online (Sandbox Code Playgroud)

例如,如果您需要使用自定义构造函数,您还可以创建一个传递所需值的新表单.例如

TForm2 *Form = new TForm2( this, "My New Form" , Now() );
Form->ShowModal();
Run Code Online (Sandbox Code Playgroud)

上面的方法除了设置表单的所有者传递一个字符串和TDateTime,然后您可以在表单构造函数中使用它们来做一些事情.

请记住,如果您创建自己的这些表单,您将需要删除它们.

要允许其他按钮或控件访问您,您需要执行以下操作

在标题的私有部分添加以下内容

TForm2 *Form;
Run Code Online (Sandbox Code Playgroud)

现在回到cpp中你需要先创建一个表格然后才能使用它,这与之前的版本略有不同

Form = new TForm2( this );
Form->ShowModal();
Run Code Online (Sandbox Code Playgroud)

但现在如果你想访问表单来说更新标题,你可以简单地做

Form->Caption = "Changed Caption";
Run Code Online (Sandbox Code Playgroud)

现在将更改表单上的标题