C
chcsl
Unregistered / Unconfirmed
GUEST, unregistred user!
请教高手:
下面这两段代码在功能和性能上有什么不同?
对于第一段,我是从别人那学的,能通过编译,但运行时没有窗口显示,为什么?
procedure TMainForm.N30Click(Sender: TObject);
var
newform:Tctyhglform;
i,flag:integer;
begin
//flag=0表示该窗体不存在
flag:=0;
for i:=0 to mainform.MDIChildCount do
begin
// 通过对窗体标题判断窗体是否存在
if mainform.MDIChildren.Caption='用户管理' then
begin
//如果窗体已存在,则恢复窗体
SendMessage(mdichildren.Handle, WM_SYSCOMMAND, SC_restore, 0);
mdichildren.Show;
mdichildren.Enabled:=true;
flag:=1;
//退出循环
break;
end;
end;
//若窗体不存在,则创建窗体
if flag=0 then
begin
newform:=Tctyhglform.Create(application);
newform.Caption:='用户管理';
end;
end;
procedure TMainForm.N31Click(Sender: TObject);
begin
ctmmglform.Show;
end;
谢谢
下面这两段代码在功能和性能上有什么不同?
对于第一段,我是从别人那学的,能通过编译,但运行时没有窗口显示,为什么?
procedure TMainForm.N30Click(Sender: TObject);
var
newform:Tctyhglform;
i,flag:integer;
begin
//flag=0表示该窗体不存在
flag:=0;
for i:=0 to mainform.MDIChildCount do
begin
// 通过对窗体标题判断窗体是否存在
if mainform.MDIChildren.Caption='用户管理' then
begin
//如果窗体已存在,则恢复窗体
SendMessage(mdichildren.Handle, WM_SYSCOMMAND, SC_restore, 0);
mdichildren.Show;
mdichildren.Enabled:=true;
flag:=1;
//退出循环
break;
end;
end;
//若窗体不存在,则创建窗体
if flag=0 then
begin
newform:=Tctyhglform.Create(application);
newform.Caption:='用户管理';
end;
end;
procedure TMainForm.N31Click(Sender: TObject);
begin
ctmmglform.Show;
end;
谢谢