窗体问题

godnoloveihavelove 2006-04-29 07:59:44
我想在一个CPP重声明两个 TFORM类,这样做的目的是可以分别调用两次同一窗体,是为了保持实例是分开的,而不是一个实例,不要告诉我 createform 这样的回答.
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyyoung 2006-04-30
  • 打赏
  • 举报
回复
呵呵,友情up
BlueDeepOcean 2006-04-30
  • 打赏
  • 举报
回复
晕……
BlueDeepOcean 2006-04-29
  • 打赏
  • 举报
回复
改正后的:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

TForm1 *f1;
TForm1 *f2;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
f1 = new TForm1(this);
f1->Left = 10;
f1->Top = 10;
f1->Width = Form1->Width;
f1->Height = Form1->Height;
f1->Caption = "Dynamic generated form - 1";
f1->Visible = true;

f2 = new TForm1(this);
f2->Left = 50;
f2->Top = 50;
f2->Width = f1->Width;
f2->Height = f1->Height;
f2->Caption = "Dynamic generated form - 2";
f2->Visible = true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete f1;
delete f2;
}
//---------------------------------------------------------------------------
Jim@luckeeinc.com 2006-04-29
  • 打赏
  • 举报
回复
你的意思是说调用同一个Form两次,而且是产生两个Form,那你在调Form的时候不要判断就好了
比如原来的写法:
if(Application->FindComponent"Form2" == NULL)
{
TForm2 *f = new TForm2(Application);
f->Show();
}
else
Form2->Show();
现在就不用判断了直接用
TForm2 *f = new TForm2(Application);
f->Show();
就可以了
godnoloveihavelove 2006-04-29
  • 打赏
  • 举报
回复
我在H文件中要保持 static TfrmBatAddVpcnUserTrade *instance;
以上的答案不符合我的需要
BlueDeepOcean 2006-04-29
  • 打赏
  • 举报
回复
说的糊涂。看看是不是这样的:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

TForm *f1,*f2;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
f1 = new TForm(this);
f2 = new TForm(this);
f1->Left = 50;
f1->Top = 50;
f2->Left = 80;
f2->Top = 80;
f1->Caption = "Dynamic generated form - 1";
f2->Caption = "Dynamic generated form - 2";
f1->Visible = true;
f2->Visible = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete f1;
delete f2;
}
//---------------------------------------------------------------------------

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧