unit main_anchoring; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls; type { TForm1 } TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.FormCreate(Sender: TObject); var Memo1, Memo2: TMemo; splitter: TSplitter; sl: TStringList; begin Height := 140; sl := TStringList.Create; try sl.CommaText := 'Memo1 line2 line3 line4 line5'; Memo1 := TMemo.Create(Self); with Memo1 do begin Lines.AddStrings(sl); Align := alLeft; Parent := Self; end; splitter := TSplitter.Create(Self); with splitter do begin Align := alNone; Left := 120; Parent := Self; AnchorParallel(akBottom, 0, Parent); end; Memo1.AnchorToNeighbour(akRight, 0, splitter); sl.Clear; sl.CommaText := '"Memo 2", "2nd added line","3rd added line", "4th added line", "5th added line"'; Memo2 := TMemo.Create(Self); with Memo2 do begin Align := alRight; AnchorToNeighbour(akLeft, 0, splitter); Lines.AddStrings(sl); Parent := Self; end; finally sl.Free; end; end; end.