主题:窗体问题!?
opgg
[专家分:0] 发布于 2005-09-03 23:21:00
现在有2个窗体,想让Form1为运行时的主窗体,而Form2为非主窗体。程序运行时,先只显示Form2这个非主窗体,做一些必要的选择等。完成后,关闭Form2同时显Form1。该怎么设置??请教高手!!
(我试过,把Form设为MainForm,把Form2设为Auto-Form,但这样的话程序一运行就只先显示Form1了。或者把两个Form都设为MainForm,Form2在上面,但这样的话,一运行,是先显示Form2,完成后可以显示Form1,此时已不需要Form2了,把Form2一关掉,程序就OVER了。怎样设才能达到我想的效果呢?)
回复列表 (共4个回复)
沙发
rs0202 [专家分:1030] 发布于 2005-09-06 12:02:00
把Form设为MainForm,试试不把Form2设为Auto-Form,别动它!这是第一步!
第二步,是代码的问题我估计你写混拉!才会出现你那样的问题
板凳
rs0202 [专家分:1030] 发布于 2005-09-06 12:03:00
我做过这样的,没一点错误啊!
3 楼
tianwei63 [专家分:0] 发布于 2005-10-22 14:20:00
查看DELPHI的联机帮助,主题是TFORM,里面有教你怎么去实现这个的方法!!
4 楼
BloveIce [专家分:30] 发布于 2005-10-26 22:27:00
//将Form2取消Auto-Form!
//打开项目工程文件(点击Project->View Source),并做如下修改:
//--------------------------------------------------------------------------
#include "Unit2.h" //先要将TForm2的定义包含进来(假设Form2头文件是Unit2.h)
#include <vcl.h>
#pragma hdrstop
//--------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
USEFORM("Unit2.cpp", Form2);
//--------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
//-----增加的代码:-------------------------
Form2 = new TForm2(Application);
Form2->ShowModal();
delete Form2;
//-----------------------------------------
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//--------------------------------------------------------------------------
我来回复