willst du während dem Verschieben schon das zweite Fenster mit verschieben oder erst wenn das erste Fenster losgelassen wird (also der Verschiebenvorgang abgeschlossen ist). Wenn du live mit verschieben willst geht es so:
Delphi-Quellcode:
private
procedure FWM_Moving(var AMsg: TMessage); message wm_moving;
[...]
procedure TForm1.FWM_Moving(var AMsg: TMessage);
var LRect: PRect;
begin
inherited;
LRect := Pointer(AMsg.LParam);
//LRect beinhaltet jetzt die Position und Größe wo Form1 sich zurzeit befindet.
//Mit Form2.Left := LRect.Right könntest du das Form2 also rechts daneben plazieren
end;
wenn du das zweite Fenster erst nach dem verschieben von Form1 verschieben willst kannst du auch einfach hinter das ReleaseCapture das plazieren von Form2 setzen.
Delphi-Quellcode:
ReleaseCapture;
self.perform(WM_SysCommand, $F012, 0);
Form2.SetBounds(Self.Left, Self.Top, Form2.Width, Form2.Height);