Die Klasse Screens besitzt nur eine Eigenschaft. Mit Screens.Count wird die Anzahl der Monitore zurückgegeben, die mit der Grafikkarte Ihres Systems verbunden sind.
Abbildung 20.16.1: Anzeige der Anzahl von Monitoren an der Grafikkarte
Gut zu wissen, dass Sie mit Screens[Index As Integer] As Screen ein Screen-Objekt erhalten, das es Ihnen erlaubt, die Bildschirm-Geometrie eines bestimmten Monitors auszulesen. Der Standard-Monitor hat den Index 0:
Public Sub btnGetMonitorGeometry_Click() Dim sMessage As String sMessage = "<hr><b>Monitor-Eigenschaften</b><hr>" sMessage &= "Monitor-Höhe = " & Screens[0].Height & " Pixel" sMessage &= "<br>Monitor-Breite = " & Screens[0].Width & " Pixel" sMessage &= "<br><br>Nutzbare Desktop-Höhe = " & Screens[0].AvailableHeight & " Pixel" sMessage &= "<br>Nutzbare Desktop-Breite = " & Screens[0].AvailableWidth & " Pixel<br>" sMessage &= "<br>Auflösung = " & Desktop.Resolution & " DPI <hr>" Message.Info(sMessage) ' Alternativer Quelltext: ' sMessage = "<hr><b>Standard-Monitor-Eigenschaften</b><hr>" ' sMessage &= "Monitor-Höhe = " & Screen.Height & " Pixel" ' sMessage &= "<br>Monitor-Breite = " & Screen.Width & " Pixel" ' sMessage &= "<br>Auflösung = " & Desktop.Resolution & " DPI <hr>" ' sMessage &= "Nutzbare Desktop-Höhe = " & Screens[0].AvailableHeight & " Pixel" ' sMessage &= "<br>Nutzbare Desktop-Breite = " & Screens[0].AvailableWidth & " Pixel<br>" ' Message.Info(sMessage) End ' btnGetMonitorGeometry_Click()
Abbildung 20.16.2: Anzeige ausgewählter Monitor-Eigenschaften
Mit der folgenden Prozedur erhalten Sie Angaben zu ausgewählten Eigenschaften der Monitore, wenn mehrere Monitore an der gleichen Grafikkarte angeschlossen sind. Achten Sie besonders auf die blau unterlegten Abschnitte im Quelltext, der noch um weitere Eigenschaften für k Monitore erweitert werden kann:
Public Sub btnGetMonitorGeometry_Click() Dim iCount As Integer Dim sMessage As String Dim hScreen As Screen sMessage = "<hr><b>Monitor-Eigenschaften</b><hr>" For Each hScreen In Screens sMessage &= "Höhe Monitor " & Str(iCount + 1) & " = " & Screens[iCount].Height & " Pixel" sMessage &= "<br>Breite Monitor " & Str(iCount + 1) & " = " & Screens[iCount].Width & " Pixel <hr>" Inc iCount Next ' hScreen Message.Info(sMessage) End ' btnGetMonitorGeometry_Click()
Abbildung 20.16.3: Anzeige ausgewählter Monitor-Eigenschaften für mehrere Monitore
Artikel