主窗体与子窗体的问题。

xidsun 2003-03-09 10:06:53
1。要求一个子窗体只生成一份。
2。子窗体要在一个类中定义,由类的成员函数来创建。
3。不能出现子窗体的变量。
如何实现?
...全文
17 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzzl 2003-04-05
  • 打赏
  • 举报
回复
这么麻烦,还不如加个变量方便来
qazwsx2002 2003-04-03
  • 打赏
  • 举报
回复
在主窗体中打开子窗体的方法
for i:=0 to self.MDIChildCount-1 do
begin
if (self.MDIChildren[i] is tform2) then
begin
self.MDIChildren[i].Show;
exit;
end;
end;
tform2.Create(self).Show;
citytramper 2003-03-15
  • 打赏
  • 举报
回复
1.判断MDIChildCount=1 就不让在创建

2、3
TCreateMDICHILD = class
class procedure CreateMDICHILD(OWner:TComponent);
end;

class procedure TCreateMDICHILD.CreateMDICHILD(OWner:TComponent);
begin
with TForm2.Create(owner) do
show;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TCreateMDICHILD.CreateMDICHILD(SELF);
end;

idilent 2003-03-10
  • 打赏
  • 举报
回复
不能出现子窗体的变量,怎么实现?不知道java中好像可以。
vitamin_ok 2003-03-10
  • 打赏
  • 举报
回复
第一个问题,我可以帮帮你哦!~
try
if Application.MainForm.MDIChildCount > 0 then
ActiveMdiChild.Close;
finally
sfrmEmpJob :=TsfrmEmpJob.Create(frmMain);
end;

不知道,看明白了吗?!

我要分分呀!~~~~

type
LCreateFormClass = class
private
public
procedure createForm(newform:TFORM;ownerform:TFORM);
end;

implementation

procedure createForm(newform:TFORM;ownerform:TFORM);
begin
try
if Application.MainForm.MDIChildCount > 0 then
ActiveMdiChild.Close;
finally
newform :=TMDICHildfrm.Create(frmMain); //其中,TMDIChildfrm是一个字窗体类
end;
end

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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