2010-09-18 7 views
6

Mögliche Duplizieren:
Start program on a second monitor?Wie kann ich den Monitor auswählen, auf dem ich meine Anwendung öffnen möchte?

Ich habe zwei überwachen einen Monitor an meinen Laptop angeschlossen. Wie kann ich den Monitor auswählen, auf dem meine Anwendung angezeigt wird?

Auch wie kann ich feststellen, wie viele Monitor habe ich angeschlossen, so dass ich einen auswählen kann?

Dank

+0

Mögliche doppelte und damit verbundene Frage: http://stackoverflow.com/questions/206400/ – stukelly

Antwort

6

Verwenden Sie das Screen Objekt.

Erste der Monitor zählen

ShowMessage(IntToStr(Screen.MonitorCount)) 

Erste Monitor Details

Screen.Monitors[i].Left (integer) 
        .Top (integer) 
        .Width (integer) 
        .Height (integer) 
        .BoundsRect (TRect) 
        .WorkareaRect (TRect) 
        .Primary (boolean) 

wobei i der Index des Monitors ist, das heißt, i = 0, 1, ... , Screen.MonitorCount - 1.

So, zum Beispiel, um die Form, um den gesamten i-ten Monitor belegt, verwenden

BoundsRect := Screen.Monitors[i].BoundsRect; // or you could make the rect smaller 
WindowState := wsMaximized; // possibly 
+4

Natürlich, für sehr einfach Situationen, die Einstellung der 'DefaultMonitor' -Eigenschaft könnte genug für die Bedürfnisse sein. –

Verwandte Themen