Vielen Dank schomal für euer bemühen, aber es will einfach nicht so funktionieren wie es soll.
Die MEthode von DaddyH kommt mit nem MEmo alleine ganz gut ran, aber ich möchte ja, dass das Memo AlClient bleibt, das heißt die größe des memos passt sich dem des PARENT Panels an. Nun möchte ich dem Panel die größe geben, die das memo eigentlich benötigt + 20 px margin, damit das auch passt.
Zusätzlich ist mir aufgefallen, wenn ich die Größe des PArentPanels nach dem MEmo.Create verändere, dass dann die Erstellungsreihenfolge komplett verschoben wird
ich hänge mal screenshots zur verdeutlichung an.
Delphi-Quellcode:
//neues Panel erzeugen
newPanel := Tpanel.Create(frmAnfrage);
newPanel.ParentColor := False;
newPanel.ParentBackground := false;
newPanel.Parent := frmAnfrage.ScrollBox1;
newPanel.ParentDoubleBuffered := true;
newPanel.Align := alTop;
// newHeight := AdjustMemoHeight(ar_content[i].Content);
NewPanel.Height := 1000;
newLab := Tlabel.Create(newPanel);
newLab.Parent := newPanel;
NewLab.Visible := false;
newlab.Margins.SetBounds(10,10,10,10);
newLab.Align := alClient;
NewLab.Font.Name := 'Courier New';
newLab.Caption := ar_content[i].Content;
LH := newLab.Canvas.TextHeight(ar_content[i].Content);
NewPanel.Height := LH ;
Das hat leider auch nicht funktioniert, irgendwie ist das Panel dann nur ein paar pixel groß und wird in der Erstellungsreihenfolge nach oben gesetzt. Ich erzeuge vor dem Panel auf dem das Memo liegt noch ein blaues Panel mit der überschrift,dass auch auf der scrollbox liegt.
Bei dieser MEthode ist nun das graue Panel mit Memo über das blaue gerutscht.
HIER die Falsche Reihenfolge, wenn ich die größe des Panels später ändere
Hier wie es fast aussehen sollte, hier wurde ne feste PanelBReite vergeben.
Es Sollte aber auf die Texthöhe eingestellt werden