10.3 Wie ermittel ich die aktuelle Bildschirmauflösung?
VB5-VB6
Von: Tobias Schikora [Home]
Die aktuelle Bildschirmauflösung, können Sie im einfachsten Fall über die Width- und Height-Eigenschaften des Screen-Objekts ermitteln. Da diese Angaben in Twips zurückgeben werden, müssen sie zunächst Mithilfe der TwipsPerPixelX- und TwipsPerPixelY-Eigenschaften in Pixels umgerechnet werden:
Dim lWidth As Single
Dim lHeight As Single
With Screen
lWidth = .Width / .TwipsPerPixelX
lHeight = .Height / .TwipsPerPixelY
End With
Debug.Print "Auflösung: " & CStr(lWidth) & _
"x" & CStr(lHeight)
Unter Umständen werden diese Werte aber nicht aktualisiert, wenn die Bildschirmauflösung während der Laufzeit der Anwendung geändert wird. Daher ist es in diesem Fall sicherer, die Bildschirmauflösung über die API Funktion GetSystemMetrics() abzufragen:
' Deklaration:
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
' Anwendung:
Dim lWidth As Long
Dim lHeight As Long
lWidth = GetSystemMetrics(SM_CXSCREEN)
lHeight = GetSystemMetrics(SM_CYSCREEN)
Debug.Print "Auflösung: " & CStr(lWidth) & _
"x" & CStr(lHeight)