Form1.FormStyle := fsMDIForm
Form2.FormStyle := fsMDIChild
Form2的Close事件中
action:=cafree;当Form2被关闭以后,点击Form1中的按纽要显示Form2procedure TForm1.Button1Click(Sender: TObject);
var
a:=TForm2;
begin
if not assigned(a) then
begin
a.create(application);
a.showmodal;
end;
end;显示不能
不知道是哪里出问题了,希望各位不吝赐教。另外,还有什么办法能判断窗体是否存在或显示?
开始时如何设置能让Form2不在程序运行时就显示出来?
Form2.FormStyle := fsMDIChild
Form2的Close事件中
action:=cafree;当Form2被关闭以后,点击Form1中的按纽要显示Form2procedure TForm1.Button1Click(Sender: TObject);
var
a:=TForm2;
begin
if not assigned(a) then
begin
a.create(application);
a.showmodal;
end;
end;显示不能
不知道是哪里出问题了,希望各位不吝赐教。另外,还有什么办法能判断窗体是否存在或显示?
开始时如何设置能让Form2不在程序运行时就显示出来?
解决方案 »
- 如何判断数据集里有没有某个字段?
- 比较棘手的数据库问题,请高手帮忙
- 有关IntraWeb的AppMode方式应用服务的问题
- 使用 dbExpress 与数据库 ID 之间的问题。
- 我想从word中逐行读取文字,但是发现不能定义Twordapplication类的变量
- 请教各位大侠,外贸用的唛头用什么样的控件编辑,用什么样的字段保存好?
- 怎样使SQL表的数据结构不被用户看到或者用户不能打开表?高分相赠!!!!
- 做报表的问题
- 如何在StringGrid中插入checkBox控件
- 开发WEB服务嚣时,调用了DELPHI的ActiveFrom。当移动一下工具条时,DELPHI的ActiveFrom一片混乱。
- delphi中怎样连接加密的access数据库??????急等
- 江湖告急!MDI子窗口的Icon图标如何去掉??
TMainForm=class(TForm)
...
public
FSpecChild:TForm;
...
end;创建子窗体时:
if FSpecChild <> nil then
FSpecChild := TChildForm.Create(self);
...在ChildForm的OnClose事件中:
implementation
uses Main;//主窗体的单元.
...
TChildForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MainForm.FSpecChild := nil;
end;
那个是我觉得或许可以这样……
当然,可能事实证明我很傻lovend(颓废之吻) :
FSpecChild := TChildForm.Create(self);和FSpecChild := TChildForm.Create(application)有什么不一样呢?还有,如果是多个子窗体的话那窗体的判断是不是就不能用FSpecChild <> nil了?
如果不能的话应该用什么来判断?我见过一种是用capion……觉得不好……
if not assigned(frm_child) then //----判断子窗体指针是否存在?
application.createform(Tfrm_child,frm_child)
else
begin
frm_child.bringtofont;
end;关闭子窗体;
Tfrm_child.onclose();
begin
action:=cafree;
frm_child:=nil;//---将指针清除;
end;
a:=TForm2; ???????????????????还"觉得或许可以这样"!!我真的搞不清楚了!
要在每个要创建的子窗体创建之前都要判断的。你慢慢研究吧。
Form1.FormStyle := fsMDIForm
Form2.FormStyle := fsMDIChild
a.showmodal;//这里一定有问题啊 试一下a.show;
你这个是 子窗体的怎么可以用 showmodal
所以可能表达上出些问题
不好意思我自己再看看吧
不知道什么书有MDI入门的讲解
很多书都只是一点带过……