Ich mach das so:
Delphi-Quellcode:
procedure MDIOpenForm(FormClass: TFormClass; var Reference;
bBringToFront: boolean = True);
begin
if TObject(Reference) = nil then
begin
Application.CreateForm(FormClass, Reference);
end
else
begin
if bBringToFront then
begin
if TForm(Reference).WindowState = wsMinimized then
TForm(Reference).WindowState := wsNormal
else
TForm(Reference).BringToFront;
end;
end;
end;
Alle Aufrufe der
MDI Forms erfolgen über diese Procedure. Etwa so:
MDIOpenForm(TfrmAdressen, frmAdressen);
Die
MDI Fenster werden dann entweder erzeugt oder, wenn sie schon existieren, in den Vordergrund geholt.