Newsgroup: it.comp.lang.visual-basic
Titolo: [API] Cambiare i colori di sistema

Il sistema operativo Windows riserva alcuni colori per le varie parti
dell'interfaccia utente (fondo del desktop, barra del titolo delle finestre,
testo e sfondo delle finestre, testo e sfondo dei menu, etc...).
Questi colori sono visibili (e anche modificabili dall'utente) dal Pannello
di Controllo, selezionando Schermo, poi la tab Aspetto.
Pero' questi colori sono anche leggibili da programma, utilizzando la
funzione API GetSysColor().
' Dichiarazione per GetSysColor
Declare Function GetSysColor Lib "user32" Alias "GetSysColor" _
    (ByVal nIndex As Long) As Long
Parametri:
nIndex
Specifica l'elemento dell'interfaccia utente di cui si vuole sapere il
colore.
Questo parametro deve essere uno dei seguenti valori:
Const COLOR_SCROLLBAR = 0 'Scrollbar
Const COLOR_BACKGROUND = 1 'Sfondo del desktop (senza wallpaper)
Const COLOR_ACTIVECAPTION = 2 'Barra del titolo della finestra attiva
Const COLOR_INACTIVECAPTION = 3 'Barra del titolo delle finestre non attive
Const COLOR_MENU = 4 'Menu
Const COLOR_WINDOW = 5 'Sfondo delle finestre
Const COLOR_WINDOWFRAME = 6 'Bordo delle finestre
Const COLOR_MENUTEXT = 7 'Testo nei menu
Const COLOR_WINDOWTEXT = 8 'Testo nelle finestre
Const COLOR_CAPTIONTEXT = 9 'Testo nella barra del titolo delle finestre
Const COLOR_ACTIVEBORDER = 10 'Bordo della finestra attiva
Const COLOR_INACTIVEBORDER = 11 'Bordo delle finestre non attive
Const COLOR_APPWORKSPACE = 12 'Sfondo delle finestre MDI
Const COLOR_HIGHLIGHT = 13 'Sfondo degli elementi selezionati in un
controllo
Const COLOR_HIGHLIGHTTEXT = 14 'Testo degli elementi selezionati in un
controllo
Const COLOR_BTNFACE = 15 'Colore della superficie di elementi
tridimensionali (es. pulsanti)
Const COLOR_BTNSHADOW = 16 'Colore "in ombra" dei pulsanti 3D
Const COLOR_GRAYTEXT = 17 'Testo di elementi disabilitati
Const COLOR_BTNTEXT = 18 'Testo sui pulsanti
Const COLOR_INACTIVECAPTIONTEXT = 19 'Testo della barra del titolo di
finestre non attive
Const COLOR_BTNHIGHLIGHT = 20 'Colore "alla luce" dei pulsanti 3D
Const COLOR_3DDKSHADOW = 21 'Ombra scura degli elementi 3D
Const COLOR_3DLIGHT = 22 'Riflesso "illuminato" degli elementi 3D
Const COLOR_INFOTEXT = 23 'Testo dei tooltip
Const COLOR_INFOBK = 24 'Sfondo dei tooltip
Const COLOR_HOTLIGHT = 26 'Colore per l'hot-tracking (nuovo)
Const COLOR_GRADIENTACTIVECAPTION = 27 'Colore della barra del titolo
sfumata per la finestra attiva
Const COLOR_GRADIENTINACTIVECAPTION = 28 'Colore della barra del titolo
sfumata per le finestre non attive
Const COLOR_DESKTOP = COLOR_BACKGROUND 'Desktop
Const COLOR_3DFACE = COLOR_BTNFACE 'Superficie degli elementi 3D
Const COLOR_3DSHADOW = COLOR_BTNSHADOW '
Const COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT '
Const COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT '
Const COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT '
Valore di ritorno della funzione:
se la funzione termina correttamente, il valore di ritorno e' il valore RGB
(rosso, verde, blu) del colore per l'elemento richiesto.
' Esempio di chiamata della funzione:
Sub Main()
    Dim RGB As Long
    RGB = GetSysColor(COLOR_ACTIVECAPTION)
    Debug.Print "Red   = " & (RGB And &HFF&)
    Debug.Print "Green = " & (RGB And &HFF00&) \ &H100&
    Debug.Print "Blue  = " & (RGB And &HFF0000) \ &H10000
End Sub
--
Roal Zanazzi
z...@iol.it

ottimo intervento Roal !!!!!
--
Posted from 
romeo.logikos.it
 [193.70.26.1]
via Mailgate.ORG Server - 
http://www.mailgate.org