我fsMDIForm上打开一个新的fsMDIChildFORM,让它最大化再次打开时就变小了,怎么办?(10分)

  • 主题发起人 主题发起人 xbbtzhao
  • 开始时间 开始时间
X

xbbtzhao

Unregistered / Unconfirmed
GUEST, unregistred user!
楼主: 我fsMDIForm上打开一个新的fsMDIChildFORM,让它最大化,我做了验查是否已打开,再次点击时就不是了大化了,变小了,怎样让它还是原来一样?
var
newform:Tsee;
begin
if findForm('管理')=false then //验查是否已打开,不重复新建FORM
begin
//若窗体不存在,则创建窗体
newform:=Tsee.Create(application);
newform.Caption:='管理';
end;
end;
http://bbs.2ccc.com/attachments/2006/xbbtzhao_2006322115355.jpg
 
兄弟在这个窗口的close事件中加上一句 action:=cafree;就OK
 
用了这句还是这样的哟,再次点击时变小了 //第一次点击是最大化,再次点击就变小了

function Tmain.FindForm(caption: string): bool;
var
i:integer;
begin
for i:=0 to main.MDIChildCount do
begin
// 通过对窗体标题判断窗体是否存在
if main.MDIChildren.Caption=caption then
begin
//如果窗体已存在,则恢复窗体,并返回true
SendMessage(mdichildren.Handle, WM_SYSCOMMAND, SC_restore, 0);
mdichildren.Enabled:=true;
mdichildren.Show;
mdichildren.SetFocus;

result:=true;
break;
end
else
//如窗体不存在,则返回false,程序将创建窗体
result:=false;
end
end;
procedure Tmain.N2Click(Sender: TObject);
var
newform:Tsee;
begin
if findForm('管理')=false then
begin
//若窗体不存在,则创建窗体
newform:=Tsee.Create(application);
newform.Caption:='管理';
end
end;
 
mdichildren.WindowState:=wsMaximized;
问题已决一部份,就是再次点击是有个闪的动作(先是最大化,再是原来大小,最后才最大化),不知道有没有解决办法?
 
后退
顶部