Hallo,
erst mal: ich hoffe, dass ich mit meinem Problem in der richtigen Abteilung gelandet bin.
Wie das Thema schon kurz beschreibt: Ich habe eine Anwendung mit zwei Formularen, wobei das zweite Formular auf einem zweiten Monitor angezeigt werden soll, wenn denn ein 2. Monitor überhaupt vorhanden ist.
Bisher hatte ich mit dieser Thematik nichts zu tun, und darum hab ich auch das Forum nach diesbezüglichen Informationen durchsucht. Was mich aber nicht weiter gebracht hat.
Über Screen.Monitors kann ich Infos über die angeschlossenen Monitore erhalten, aber wie weise ich meiner Form einen Monitor zu? Mit "DefaultMonitor" funktioniert es nicht.
Ich habe ausprobiert
- die 2. Form zur Laufzeit zu erzeugen oder automatisch
- die erste Form auf den Primär-Monitor und den 2.Monitor gezogen, und von dort aus Form2 erzeugt
Code:
procedure TFrmMoni1.Button2Click(Sender: TObject);
begin
with TFrmMoni2.Create(Application) do
try
DefaultMonitor := dmDesktop; // und alle anderen auch ausprobiert...
ShowModal;
finally
Release;
end;
end;
Es ändert sich nichts. Die Frage ist also, was mache ich falsch?
Nachtrag: Wenn ich Form1 auf Monitor2 ziehe, und Form2 DefaultMonitor := dmDesktop zuweise, dann funktioniert es. Aber so soll es ja nicht sein: Form1 soll "automatisch" auf Monitor1 sein und Form2 auf Monitor2.