RSS
StartseiteKnowledge LibraryTop 10Impressum

10.3 Wie ermittel ich die aktuelle Bildschirmauflösung?

VB5-VB6

Von:  [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)
Links zum Thema