Hi,
ein Form für jedes Formular mit fsStaOnTop.
Das aktive, sichtbare Form im Application.OnIdle in die von Dir gewünschte Stelle
hinein positionieren/resizen.
Klingt kompliziert, sind aber nur ein paar Zeilen Code
Delphi-Quellcode:
procedure TMain.FormCreate(Sender: TObject);
begin
Application.OnIdle := ApplIdle;
end;
procedure TMain.ApplIdle(Sender : TObject; var Done : boolean);
var
i : integer;
begin
for i := 0 to Owner.ComponentCount - 1
do begin
if (Pos('Form_', Owner.Components[i].Name) > 0)
then begin
(Owner.Components[i] as TForm).Left := Main.FormPanel.ClientOrigin.X;
(Owner.Components[i] as TForm).Top := Main.FormPanel.ClientOrigin.Y;
(Owner.Components[i] as TForm).Width := Main.FormPanel.Width;
(Owner.Components[i] as TForm).Height := Main.FormPanel.Height;
end;
end;
end;
Jedes Formular, dessen Name mit 'Form_' beginnt wird in die Panel-Fläche von "FormPanel"
eingepasst.