Hmm..
vielleicht so:
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var
tmpMonitor : TMonitor;
begin
tmpMonitor := Screen.MonitorFromWindow(Application.MainForm.Handle);
self.Left := tmpMonitor.WorkareaRect.Left + ((tmpMonitor.WorkareaRect.Right - tmpMonitor.WorkareaRect.Left - self.Width) div 2);
self.Top := tmpMonitor.WorkareaRect.Top + ((tmpMonitor.WorkareaRect.Bottom - tmpMonitor.WorkareaRect.Top - self.Height) div 2);
end;
Das platziert im Unterfenster, dann wird dieses immer auf dem Monitor des Hauptfensters zentriert.