Utilisation des sous-classes Theme

Les classes de thème qui représentent des contrôles tels que ComboBox, Edit, ExplorerBar, rebar, TAB et Toolbar peuvent être sous-classées afin de fournir des variations de thème pour ce contrôle particulier. Par exemple, la classe Button est sous-classée comme afin Start::Button de permettre le contrôle du thème appliqué au bouton Démarrer .

Notes

Soyez prudent lorsque vous créez des sous-classes comme celles présentées dans cette rubrique. étant donné que les sous-classes peuvent être modifiées ou non disponibles dans les versions ultérieures de Windows, il est déconseillé de les utiliser.

Deux façons d’utiliser une sous-classe Theme

Une application peut utiliser un thème sous-classé de l’une des deux manières suivantes :

  • Elle peut utiliser la fonction OpenThemeData avec une chaîne sous la forme du subclass::class paramètre pszClassList .
  • Il peut appeler SetWindowTheme avec le nom de la sous-classe theme dans le paramètre pszSubAppName .

Utilisation de messages de thème qui définissent le style visuel

Certains contrôles, tels que Rebar et Toolbar, fournissent des messages spécifiques que vous pouvez envoyer pour indiquer au contrôle d’utiliser une sous-classe de thème. Pour ces contrôles, fournissez un pointeur vers une mémoire tampon qui contient le nom de la sous-classe du thème dans le paramètre lParam du message. Utilisez le message générique CCM _ SETWINDOWTHEME ou utilisez un variant spécifique comme celui indiqué dans le tableau suivant.

Control Message
Info-bulle ATTÉNUATION _ SETWINDOWTHEME
Barre d’outils TO _ SETWINDOWTHEME
Rebar _SETWINDOWTHEME RB
ComboBoxEx CBEM _ SETWINDOWTHEME

le tableau suivant répertorie certaines des sous-classes que Windows Vista définit.

Classe Sous-classes
Liste déroulante
  • Adresse
  • AddressComposited
  • InactiveAddress
  • InactiveAddressComposited
  • MaxAddress
  • MaxAddressComposited
  • MaxInactiveAddress
  • MaxInactiveAddressComposited
Modifier
  • Adresse
  • AddressComposited
  • InactiveAddress
  • InactiveAddressComposited
  • InactiveSearchBoxEdit
  • InactiveSearchBoxEditComposited
  • MaxAddress
  • MaxAddressComposited
  • MaxInactiveAddress
  • MaxInactiveAddressComposited
  • MaxInactiveSearchBoxEdit
  • MaxInactiveSearchBoxEditComposited
  • MaxSearchBoxEdit
  • MaxSearchBoxEditComposited
  • SearchBoxEdit
  • SearchBoxEditComposited
Rebar
  • BrowserTabBar
  • InactiveNavbar
  • InactiveNavbarComposited
  • MaxInactiveNavbar
  • MaxInactiveNavbarComposited
  • MaxNavbar
  • MaxNavbarComposited
  • Barre de navigation
  • NavbarComposited
  • NavbarNonTopmost
Onglet
  • BrowserTab
Barre d’outils
  • Go
  • GoComposited
  • InactiveGo
  • InactiveGoComposited
  • MaxGo
  • MaxGoComposited
  • MaxInactiveGo
  • MaxInactiveGoComposited
  • Valeur SearchButton
  • SearchButtonComposited
  • Voyage
  • TravelComposited

Sous-classes Internet Explorer

dans Windows Vista, les sous-classes de certaines classes internes à Windows Internet explorer et l’explorateur de Windows sont disponibles, même si les classes elles-mêmes ne le sont pas. Le tableau suivant répertorie les sous-classes disponibles.

| | | AddressBand |

  • AB
  • ABGreen
  • ABGreenComposited
  • ABRed
  • ABRedComposited
  • ABYellow
  • ABYellowComposited
| | SearchBox |
  • InactiveSearchBox
  • InactiveSearchBoxComposited
  • MaxInactiveSearchBox
  • MaxInactiveSearchBoxComposited
  • MaxSearchBox
  • MaxSearchBoxComposited
  • SearchBoxComposited
|

Le tableau suivant présente les spécificités de ces classes.

Control Partie États
ADDRESSBAND ABBACKGROUND NORMAL (0x1), chaud (0X2), désactivé (0x3), ayant le focus (0x4)
SEARCHBOX SBBACKGROUND NORMAL (0x1), chaud (0X2), désactivé (0x3), ayant le focus (0x4)