2010-09-18 5 views
6

Eventuali duplicati:
Start program on a second monitor?Come posso selezionare il monitor in cui voglio aprire la mia applicazione?

ho due monitorare un monitor collegato al mio portatile. Come posso scegliere il monitor dove verrà mostrata la mia applicazione?

Inoltre, come è possibile rilevare quanti monitor sono connessi in modo che sia possibile selezionarne uno?

Grazie

+0

Eventuali duplicati e relativa domanda: http://stackoverflow.com/questions/206400/ – stukelly

risposta

6

Utilizzare l'oggetto Screen.

Ottenere contare il monitor

ShowMessage(IntToStr(Screen.MonitorCount)) 

Come i dettagli del monitor

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

dove i è l'indice del monitor, vale a dire, i = 0, 1, ... , Screen.MonitorCount - 1.

Così, per esempio, per rendere la forma occupano l'intero monitor-esimo, utilizzare

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

Naturalmente, per molto semplicemente le situazioni, l'impostazione della proprietà 'DefaultMonitor' potrebbe essere sufficiente per le proprie esigenze. –

Problemi correlati