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)