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::classparamè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 |
|
| Modifier |
|
| Rebar |
|
| Onglet |
|
| Barre d’outils |
|
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
- 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) |