Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Jul 15, 2000

MaxSystemColors - The number of screen colors

Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, _
    ByVal hDC As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, _
    ByVal nIndex As Long) As Long
Private Const BITSPIXEL = 12
Private Const PLANES = 14

' returns the max number of colors supported by the video card

Function MaxSystemColors() As Long
    Dim hWnd As Long
    Dim hDC As Long
    Dim bitsPerPixel As Long
    Dim colorPlanes As Long
    Dim bits As Integer
    
    ' get the device context of the desktop window
    hWnd = GetDesktopWindow()
    hDC = GetDC(hWnd)
    ' the number of bits per pixels
    bitsPerPixel = GetDeviceCaps(hDC, BITSPIXEL)
    ' the number of color planes
    colorPlanes = GetDeviceCaps(hDC, PLANES)
    ' number of bits for each pixel
    bits = bitsPerPixel * colorPlanes
    ' no video card has more than 1.6 million colors
    If bits > 24 Then bits = 24
    ' evaluate the result
    MaxSystemColors = 2 ^ bits
    ' release the device context
    ReleaseDC hWnd, hDC
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date