程序form初始化问题(50分)

  • 主题发起人 主题发起人 wuzhenzhen
  • 开始时间 开始时间
W

wuzhenzhen

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序有很多form,一打开就相继产生,比较难看,我想让这些form动态生成
又老是出错。现在我想让程序开始时初始化form时不显示出来,直到所有form
都生成时才出现主界面,类似splash的东西,应该怎么处理?
 
动态生成:
在工程文件中,删除在程序中调用的窗体的
application.formcreate(tform,form)
然后在调用时 加上application.formcreate(tform,form)

在该调用的窗体的onclose中,
action:=cafree;
>>我想让这些form动态生成
就可以了。
OK!
 
不会吧,如果Project Source里没有把那些Form 给Show出来,
程序运行时不会看到的
 
首先要在project options 下,将Form2放到Available forms中,此时Project Source里没有把Form2 创建,然后再Form1中可调用以下程序将Form2显示出来:
Delphi下:
Application.CreateForm(TForm2, Form2);
Form2.Show;
BCB下:
Application->CreateForm(__classid(TForm2), &Form2);
Form2->Show();
 
我主页上有个现成程序原代码,很简单,很简单,去下一个载看吧:
HTTP://lancewood.163.net (网站刚建,就此一程序,很好找!)
 
您所说的窗体乱跳现象是指MDI窗体吧,我在使用DELPHI4时创建的窗体
无论是在“Project Option中的Form页”上指定为“Auto-create forms”
还是指定为“Available forms”,在程序启动时都只有主窗体显示,其他
窗体都是隐藏的,但窗体已经创建了要占用系统资源和内存的,你可以中和
考虑是在开始时创建所有窗体还是创建一部分然后动态生成一部分,要是MDI窗
体则只有将MDI子窗体指定为“Available forms”然后要用时用
Form2:=TForm2.Create(application)或Application.CreateForm(Tform2,Form2)
动态创建窗体,并且要在Form2的OnClose事件中将CAFree付给Action,
这样才可以将MDI子窗体关闭而不是最小化。
另外我还没有找到在程序启动时隐藏程序的主窗体(所有类型的程序)
的简单方法(只要程序启动时运行Application.Run),除非重新写
Application.Run代码。
有谁找到了告诉我好吗?
Bloody hawk:Email:chinahawk@chinaren.com
 
SORRY,是我没说清楚,chinahawk说得没错,是MID窗口
 
多人接受答案了。
 
呀的,show.
 
后退
顶部