mdi application(50分)

  • 主题发起人 主题发起人 hhh
  • 开始时间 开始时间
H

hhh

Unregistered / Unconfirmed
GUEST, unregistred user!
可否在mdi application中建立连多个不同的mdichild,如何调用?

 
zhcxfrm->mdichild
procedure Tmainfrm.N1Click(Sender: TObject);
begin
zhcxfrm:=tzhcxfrm.create(application);
zhcxfrm.show;
end;
 
怎样检查该mdichild是否重复打开呢
 
当窗体关闭时:
procedure TzhcxFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
 
我的意思是新建窗体时如该mdichild存在则显示
 
一个窗体只能创建(打开)、关闭。创建后该mdichild才处于打开状态。
 
我是想如果该mdichild当前不在最前端显示时(已建立多个mdichild)则将该窗体设置为最前端
 
不太明白你的意思,该mdichild当前不在最前端显示时(已建立多个mdichild)则将该窗体设置为最前端
我的程序中是这样处理的,当前状态只有一个程序中该mdichild为打开状态,尽量不同时打开多个该mdichild。用哪个打开哪个,不用时就关闭。action:=cafree
 
因有多种mdichild,mdi1可同时打开多个,mdi2希望之能打开一个
当mdi窗口已打开多个时,用户要显示mdi2时:
如果mdi2已create则将其显示出来,如果没有则create之
 
MDIChild关闭时,action:=cafree,释放资源,同时把指向该窗口的指针变量变为nil。
如:

// 子窗口
UNIT untchild1;
.
var
childFrm1: TchildFrm1;
.
.
.
procedure TchildFrm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
childFrm1 := nil;
end;

// 主窗口
UNIT untMain;
.
.
.
uses untChild1;
.
.
.
Procedure CallChild;
begin
if not assigned(childFrm1) then
childFrm1 := FchildFrm1.Create(self);
childFrm1.Show;
end;
 
to:JamesBond_L,你的积分已在http://www.delphibbs.com/delphibbs/DispQ.asp?LID=2442930给了
 
后退
顶部