窗口显示(50分)

  • 主题发起人 主题发起人 a_ping
  • 开始时间 开始时间
A

a_ping

Unregistered / Unconfirmed
GUEST, unregistred user!
我用MDI方式,怎么控制子窗口不会重复打开?如果点击了已打开窗口的命令,那个窗口会自动到最前面?就这两个问题,希望大家帮忙
 
begin
if FormLjgfcToday=nil then
Application.CreateForm(TFormLjgfcToday, FormLjgfcToday);
FormLjgfcToday.BringToFront;
end;

在TFormLjgfcToday.OnClose定义
Action:=caFree;
FormLjgfcToday:=nil
 
procedure OpenForm(FormClass: TFormClass; var AForm;
AOwner:TComponent=nil);
//根据窗口类名建立窗口,如果窗口存在则只激活它
var
i: integer;
Child:TForm;
begin
for i := 0 to Screen.FormCount -1 do
if Screen.Forms.ClassType=FormClass then
begin
Child:=Screen.Forms;
if Child.WindowState=wsMinimized then
Child.WindowState:=wsNormal;
Child.BringToFront;
Child.Setfocus;
TForm(AForm):=Child;
exit;
end;
Child:=TForm(FormClass.NewInstance);
TForm(AForm):=Child;
if not assigned(aowner) then aowner:=application;
Child.Create(AOwner);
end;

调用
OpenForm(TForm1,Form1,Application);
 
多人接受答案了。
 
后退
顶部