Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#5

AW: Formular auf zweitem Monitor starten?

  Alt 19. Dez 2016, 13:31
Zitat:
Erst beim Anzeigen der Form (Show bzw. Visible=True) werden die Property DefaultMonitor und Position ausgewertet.
Danke für die Information.
Das bedeutet dann wohl auch leider, dass man unter Windows XP das gewisse Flickern, wenn das Formular platziert wird, nicht weg bekommt auf diese Weise.

Ich habe nun Position auf poDesigned gesetzt - im Objektinspektor.
DefaultMonitor habe ich auf ActiveForm gelassen.

Ich hatte Position zwar schon auf poDesigned gesetzt, aber erst im OnCreate was wohl nicht die richtige Stelle war. Nun die Änderung im Objektinspektor brachte das gewünschte Ergebnis.
Dank meiner folgenden Prozedur wird ein Formular immer auf den Hauptmonitor zentriert ausgegeben, wenn es irgendwo im Nirvana rumfliegt

Delphi-Quellcode:
 if Screen.MonitorFromWindow(aFormToSetPos.Handle, mdNull) = nil then
  begin
   // Form is outside of any monitor. Move to center of main monitor
   aFormToSetPos.Top := (Screen.Height - aFormToSetPos.Height) div 2;
   aFormToSetPos.Left := (Screen.Width - aFormToSetPos.Width) div 2;
  end;
  Mit Zitat antworten Zitat