Usando subclasses de tema

Classes de tema que representam controles como ComboBox, Edit, ExplorerBar, Rebar, Tab e Toolbar podem ser subclassificadas para fornecer variações de tema para esse controle específico. Por exemplo, a classe Button é subclassificada como Start::Button para fornecer controle sobre o tema aplicado ao botão Start.

Observação

Tenha cuidado ao criar subclasses como as discutidas neste tópico. Como as subclasses podem estar alteradas ou indisponíveis em versões subsequentes do Windows, você é desencorajado de usá-las.

 

Duas maneiras de usar uma subclasse de tema

Um aplicativo pode usar um tema subclassificado de uma destas duas maneiras:

  • Pode usar a função OpenThemeData com uma cadeia de caracteres do formulário subclass::class no parâmetro pszClassList.
  • Ele pode chamar SetWindowTheme com o nome da subclasse do tema no parâmetro pszSubAppName.

Usando mensagens de tema que definem estilo visual

Certos controlos, como Rebar e Barra de Ferramentas, fornecem mensagens específicas que podem ser enviadas para instruir o controlo a utilizar uma subclasse de tema. Para esses controles, forneça um ponteiro para um buffer que contenha o nome da subclasse do tema no parâmetro lParam da mensagem. Use a mensagem CCM_SETWINDOWTHEME genérica ou use uma variante específica, como as mostradas na tabela a seguir.

Controlo Mensagem
Dica de ferramenta TTM_SETWINDOWTHEME
Barra de ferramentas TB_SETWINDOWTHEME
Vergalhão RB_SETWINDOWTHEME
ComboBoxEx CBEM_SETWINDOWTHEME

 

A tabela a seguir lista algumas das subclasses que o Windows Vista define.

Classe Subclasses
Caixa de Combinação
  • Endereço
  • EndereçoComposto
  • Endereço inativo
  • EndereçoInativoComposto
  • MaxAddress
  • MaxAddressComposited
  • MaxInactiveAddress
  • Endereço Máximo Inativo Composto
Editar
  • Endereço
  • EndereçoComposto
  • Endereço inativo
  • EndereçoInactivoComposto
  • EditarCaixaDePesquisaInativa
  • InactiveSearchBoxEditComposited
  • MaxAddress
  • MaxAddressComposited
  • MaxInactiveAddress
  • MáximoTempoInativoEndereçoComposto
  • MaxInactiveSearchBoxEditar
  • MaxInactiveSearchBoxEditComposited
  • MaxSearchBoxEditar
  • MaxSearchBoxEditComposited
  • Caixa de Pesquisa
  • SearchBoxEditComposited
Vergalhão
  • Barra de Abas do Navegador
  • Barra de Navegação Inativa
  • BarraDeNavegaçãoInativaComposta
  • MaxInactiveNavbar
  • MaxInactiveNavbarComposited
  • MaxNavbar
  • MaxNavbarComposited
  • Barra de navegação
  • NavbarComposited
  • NavbarNonTopmost
Separador
  • Aba do Navegador
Barra de ferramentas
  • GoComposited
  • InactiveGo
  • InactiveGoComposited
  • MaxGo •
  • MaxGoComposited
  • MaxInactiveGo
  • MaxInactiveGoComposited
  • Botão Pesquisar
  • SearchButtonComposited
  • Viagens
  • TravelComposited

 

Internet Explorer Subclasses

No Windows Vista, as subclasses de determinadas classes internas ao Windows Internet Explorer e ao Windows Explorer estão disponíveis mesmo que as próprias classes não estejam. A tabela a seguir lista as subclasses disponíveis.

Classe Subclasse
EndereçoBand
  • AB
  • ABGreen
  • ABGreenComposited
  • ABRed
  • ABRedComposited
  • ABYellow
  • ABYellowComposited
Caixa de Pesquisa
  • InactiveSearchBox
  • InactiveSearchBoxComposited
  • MaxInactiveSearchBox
  • MaxInactiveSearchBoxComposited
  • MaxSearchBox
  • MaxSearchBoxComposited
  • SearchBoxComposited

 

A tabela a seguir mostra as especificidades dessas classes.

Controlo Parte Estados
Faixa de Endereços ABANTECEDENTES NORMAL (0x1), QUENTE (0x2), DEFICIENTE (0x3), FOCADO (0x4)
CAIXA DE PESQUISA SBBACKGROUND NORMAL (0x1), QUENTE (0x2), DEFICIENTE (0x3), FOCADO (0x4)