Ich werd's jetzt doch ändern. So geht's eigentlich ganz gut mit relativ wenig Aufwand. Statt des einen Panels dann halt doch eine Scrollbox. Den fehlenden Text kann ich mir über eine Suchen und Ersetzenroutine vor Formcreate erst mal reinschaffen. Der Compiler bleibt ja dann später an der entsprechen Stelle stehen und ich kann's dann weiter ändern.
Delphi-Quellcode:
procedure TForm1.PageControlChange(Sender: TObject);
begin
with PageControl do
begin
if ActivePage = TabSheet1 then
begin
Width:= GroupBox1.Width+40;
Height:= GroupBox1.Height+50;
end;
if ActivePage = TabSheet2 then
begin
Width:= GroupBox4.Width+40;
Height:= GroupBox4.Height+50;
end;
Self.ClientWidth:= Width + 2*Left;
Self.ClientHeight:= Height + 2*Top + StatusBar.Height + Panel2.Height;
end;
with ScrollBox.HorzScrollBar do if IsScrollBarVisible then Position:= 0;
with ScrollBox.VertScrollBar do if IsScrollBarVisible then Position:= 0;
UmspeichernNachMaske(Sender);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Scaled:= false;
PageControl.Align:= alNone;
PageControl.ActivePage:= TabSheet1;
Constraints.MaxWidth:= Screen.WorkAreaWidth;
Constraints.MaxHeight:= Screen.WorkAreaHeight;
AbelHelp1.Execute;
end;