Uso delle sottoclassi tema

Le classi tema che rappresentano controlli come ComboBox, Edit, ExplorerBar, Rebar, Tab e Toolbar possono essere sottoclassate per fornire variazioni di tema per quel particolare controllo. Ad esempio, la classe button viene sottoclassata come Start::Button per fornire il controllo sul tema applicato al pulsante start.

Nota

Prestare attenzione quando si creano sottoclassi come quelle descritte in questo argomento. Poiché le sottoclassi potrebbero essere modificate o non disponibili nelle versioni successive di Windows, non è consigliabile usarle.

 

Due modi per usare una sottoclasse tema

Un'applicazione può usare un tema sottoclassato in uno dei due modi seguenti:

  • Può usare la funzioneOpenThemeDatacon una stringa del form subclass::class nel parametro pszClassList.
  • Può chiamare SetWindowTheme con il nome della sottoclasse del tema nel parametro pszSubAppName.

Uso dei messaggi del tema che impostano lo stile di visualizzazione

Alcuni controlli, ad esempio Rebar e Toolbar, forniscono messaggi specifici che è possibile inviare per indicare al controllo di usare una sottoclasse del tema. Per questi controlli, fornire un puntatore a un buffer contenente il nome della sottoclasse del tema nel parametro lParam del messaggio. Usare il messaggio di CCM_SETWINDOWTHEME generico oppure usare una variante specifica come quelle illustrate nella tabella seguente.

Controllo Messaggio
Suggerimento TTM_SETWINDOWTHEME
Barra degli strumenti TB_SETWINDOWTHEME
Rebar RB_SETWINDOWTHEME
ComboBoxEx CBEM_SETWINDOWTHEME

 

Nella tabella seguente sono elencate alcune delle sottoclassi definite da Windows Vista.

Classe Sottoclassi
ComboBox
  • Indirizzo
  • AddressComposited
  • Indirizzo inattivo
  • IndirizzoInattivoComposto
  • MaxAddress
  • MaxAddressComposited
  • MaxInactiveAddress
  • MaxInactiveAddressComposited
Redigere
  • Indirizzo
  • AddressComposited
  • Indirizzo Inattivo
  • IndirizzoInattivoComposto
  • ModificaCasellaDiRicercaInattiva
  • InactiveSearchBoxEditComposited
  • MaxAddress
  • MaxAddressComposited
  • MaxInactiveAddress
  • MaxInactiveAddressComposited
  • MaxInactiveSearchBoxEdit
  • MaxInactiveSearchBoxEditComposited
  • MaxSearchBoxEdit
  • MaxSearchBoxEditComposited
  • ModificaCasellaDiRicerca
  • SearchBoxEditComposited
Rebar
  • BrowserTabBar
  • Barra di Navigazione Inattiva
  • InactiveNavbarComposited
  • MaxInactiveNavbar
  • MaxInactiveNavbarComposited
  • MaxNavbar
  • MaxNavbarComposited
  • Barra di navigazione
  • NavbarComposited
  • NavbarNonTopmost
Scheda
  • BrowserTab
Barra degli strumenti
  • Vai
  • GoComposited
  • InactiveGo
  • InactiveGoComposited
  • MaxGo
  • MaxGoComposited
  • MaxInactiveGo
  • MaxInactiveGoComposited
  • SearchButton
  • SearchButtonComposited
  • Viaggio
  • TravelComposited

 

Sottoclassi di Internet Explorer

In Windows Vista, le sottoclassi di determinate classi interne a Windows Internet Explorer e Windows Explorer sono disponibili anche se le classi stesse non sono disponibili. Nella tabella seguente sono elencate le sottoclassi disponibili.

classe Sottoclasse di
AddressBand
  • AB
  • ABGreen
  • ABGreenComposited
  • ABRed
  • ABRedComposited
  • ABYellow
  • ABYellowComposited
Casella di ricerca
  • InactiveSearchBox
  • CasellaDiRicercaInattivaComposta
  • MaxInactiveSearchBox
  • MaxInactiveSearchBoxComposited
  • MaxSearchBox
  • MaxSearchBoxComposited
  • SearchBoxComposited

 

La tabella seguente illustra le specifiche di queste classi.

Controllo Parte Stati
ADDRESSBAND ABBACKGROUND NORMAL (0x1), HOT (0x2), DISABLED (0x3), FOCUSSATO (0x4)
Casella di ricerca SBBACKGROUND NORMAL (0x1), HOT (0x2), DISABILITATO (0x3), FOCUSSATO (0x4)