VBA Tipp: Farbauflösung herausfinden

Aus DBWiki
Wechseln zu: Navigation, Suche

Problem

Wie kann ich die eingestellte Farbtiefe ermitteln?

Lösung

Private Const COLORRES As Long = 108
Private Declare Function GetDeviceCaps Lib "GDI32" ( _
  ByVal hDC As Long, ByVal iCapabilitiy As Long) As Long
Private Declare Function GetDC Lib "USER32" ( _
  ByVal hWnd As Long) As Long
 
Public Function GetColorRes()
Dim hDC As Long
hDC = GetDC(0&)
  GetColorRes = GetDeviceCaps(hDC, COLORRES)
End Function

Aufruf

Debug.Print getColorres()
 24
' bit Farbtiefe