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

时间:2012-05-29 07:35:38

标签: c++builder

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:5)

再多一点信息

在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中你需要创建teh表单然后才能使用它,这与之前的版本略有不同

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

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

Form->Caption = "Changed Caption";

表单上的标题现在将被更改