Moin.
Ich erzeuge zur Laufzeit Panels mit Dockstyle.Left.
Seltsamerweise reihen die Teile sich verkehrt rum auf, also das zuletzt erzeugte ist ganz links.
Mache ich bei der Erzeugung was falsch?
Delphi-Quellcode:
procedure TWinFormFR.MenuItemNew_Click(sender: System.Object; e: System.EventArgs);
var FR: Panel; Lab: System.Windows.Forms.Label;
begin
FR:= Panel.Create;
FR.Parent:= Self;
//pY und pX = Mausposition aus MouseDown
if pY + FR.Height > Self.ClientSize.Height then
FR.Top:= Self.ClientSize.Height - FR.Height
else FR.Top:= pY;
if pX + FR.Width > Self.ClientSize.Width then
FR.Left:= Self.ClientSize.Width - FR.Width
else FR.Left:= pX;
FR.BorderStyle:= BorderStyle.FixedSingle;
FR.BackColor:= SystemColors.ControlLight;
FR.Dock:= DockStyle.Left;
inc(Self.Count);
Lab:= System.Windows.Forms.Label.Create;
Lab.Top:= 10;
Lab.Left:= 10;
Lab.Width:= FR.Width - 15;
Lab.Height:= FR.Height - 15;
FR.Name:= 'Frame ' + Self.FCount.ToString;
Lab.Parent:= FR;
Self.Controls.Add(FR); // ??
end;
Udo