Y
yun.li
Unregistered / Unconfirmed
GUEST, unregistred user!
想实现的目标:
在MDI窗口中实现子窗体不重复打开,
procedure OpenForm(FormName:String); //在菜单事件中调用
Function ExistForm(FormName:String):Boolean; //判断是否已打开某一窗体
在调用ExistForm()时使用窗口名('sys_msjg')
问题是Application.CreateForm(TFormName, FormName);
FormMain.WindowState:=wsNormal ;
FormMain.Show ;
这要用到宏替换,我应该怎么使用这条语句??
Procedure TFormMain.OpenForm(FormName:String);
Begin
If FormMain.ExistForm(FormName) Then
begin
FormMain.MDIChildren[0].BringToFront; //以避免重复打开
FormMain.MDIChildren[0].WindowState:=wsNormal ;
FormMain.MDIChildren[0].Show ;
End
Else
begin
//Application.CreateForm(TFormName, FormName);
FormMain.MDIChildren[0].WindowState:=wsNormal ;
FormMain.MDIChildren[0].Show ;
End;
End;
Function TFormMain.ExistForm(FormName:String):Boolean;
{作为MDI父窗体(FormMain)的该方法,可在MDIchild子窗体调用}
var
I: Integer;
begin
Result:=false;
with FormMain do
for I := MDIChildCount-1 downto 0 do
If Pos(Uppercase(FormName),Uppercase(MDIChildren.Name))>0 Then
begin
Result:=True;
Break;
End;
End;
procedure TFormMain.Setup_1Click(Sender: TObject);//菜单事件
begin
OpenForm('Sys_msjg');
end;
在MDI窗口中实现子窗体不重复打开,
procedure OpenForm(FormName:String); //在菜单事件中调用
Function ExistForm(FormName:String):Boolean; //判断是否已打开某一窗体
在调用ExistForm()时使用窗口名('sys_msjg')
问题是Application.CreateForm(TFormName, FormName);
FormMain.WindowState:=wsNormal ;
FormMain.Show ;
这要用到宏替换,我应该怎么使用这条语句??
Procedure TFormMain.OpenForm(FormName:String);
Begin
If FormMain.ExistForm(FormName) Then
begin
FormMain.MDIChildren[0].BringToFront; //以避免重复打开
FormMain.MDIChildren[0].WindowState:=wsNormal ;
FormMain.MDIChildren[0].Show ;
End
Else
begin
//Application.CreateForm(TFormName, FormName);
FormMain.MDIChildren[0].WindowState:=wsNormal ;
FormMain.MDIChildren[0].Show ;
End;
End;
Function TFormMain.ExistForm(FormName:String):Boolean;
{作为MDI父窗体(FormMain)的该方法,可在MDIchild子窗体调用}
var
I: Integer;
begin
Result:=false;
with FormMain do
for I := MDIChildCount-1 downto 0 do
If Pos(Uppercase(FormName),Uppercase(MDIChildren.Name))>0 Then
begin
Result:=True;
Break;
End;
End;
procedure TFormMain.Setup_1Click(Sender: TObject);//菜单事件
begin
OpenForm('Sys_msjg');
end;