Meine Idee dazu ist, das vorhandene Hauptfenster durch ein weiteres (rahmenloses) Fenster zu verdecken. Die Größe des zweiten Formulars muss dann entsprechend angepasst werden. Das Ganze ist bestimmt noch optimierbar, aber vielleicht hilft das ja schon weiter. Anbei kleine Demo (getestet mit Delphi 2007+2009). Hier ein Auszug, der das Grundprinzip zeigt:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
Form2 := TForm2.Create(Self);
ResizeClientForm;
Form2.Show;
end;
procedure TForm1.ResizeClientForm;
begin
if Assigned(Form2)
then begin
Form2.SetBounds(Left + Glassframe.Left,
Top + Glassframe.Top,
ClientWidth,
ClientHeight + GetSystemMetrics(SM_CYCAPTION));
end;
end;
procedure TForm1.WMMove(var msg: TWMMove);
begin
ResizeClientForm;
end;