Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico compara o suporte para temas de alto contraste no Windows 8 com o de versões anteriores do Windows e explica como oferecer suporte a temas de alto contraste em um aplicativo do Windows 8.
Inclui as seguintes secções.
- Visão geral do suporte para temas de alto contraste
- Suporte a temas de alto contraste no Windows 8 e versões posteriores
- Adicionando uma seção de compatibilidade ao manifesto do aplicativo
- Deteção de alto contraste em versões anteriores do Windows
- Tópicos relacionados
Visão geral do suporte para temas de alto contraste
O Windows 7 e versões anteriores suportam dois modelos temáticos, incluindo o modelo clássico herdado do Windows e os estilos visuais atuais. O modelo clássico do Windows foi mantido através do Windows 7 principalmente para suportar os vários temas de alto contraste. No entanto, o modelo clássico do Windows tem uma série de desvantagens:
- Não há suporte para temas que usam estilos visuais, como o Windows Aero. Os usuários de temas de alto contraste devem usar a interface do usuário clássica do Windows.
- Não há suporte para recursos de interface do usuário que dependem do Desktop Window Manager (DWM) para serem executados, como visualizações de miniaturas e a lupa de tela inteira que foi introduzida no Windows 7.
- Os desenvolvedores devem manter dois caminhos de código separados para dar suporte aos dois modelos de tema diferentes.
No Windows 8 e posterior, as seguintes alterações no modelo de tema abordam as desvantagens anteriores:
- O modelo de tema clássico do Windows não é mais suportado, permitindo que os desenvolvedores mantenham apenas um caminho de código para aplicativos destinados apenas ao Windows 8.
- Como os estilos visuais e o DWM estão ativados no Windows 8, os usuários de alto contraste têm acesso a recursos como visualizações de miniaturas e a lupa de tela cheia.
- Os estilos visuais suportam a definição das cores de vários elementos da interface do usuário, permitindo que os usuários de alto contraste personalizem a interface do usuário para acomodar necessidades e preferências individuais.
- O Windows 8 inclui suporte de compatibilidade para aplicativos existentes projetados para usar temas de alto contraste com base no modelo de tema clássico do Windows.
Suporte a temas de alto contraste no Windows 8 e versões posteriores
No Windows 8, como os estilos visuais estão ativados no modo de alto contraste, o suporte a temas de alto contraste é simples, desde que você preste atenção às diretrizes a seguir.
- Tamanhos de fonte e de controles. Para garantir que sua interface do usuário esteja acessível a usuários com deficiência, defina tamanhos de fonte de acordo com as configurações atuais do tema. Defina o tamanho dos controles para ser pelo menos o tamanho padrão.
- Cores. Evite usar cores codificadas. Em vez disso, use as cores do sistema porque elas se baseiam no tema atual. O uso de cores personalizadas pode interferir e substituir as cores nos temas de alto contraste.
- Manifesto de aplicação. Os aplicativos projetados para trabalhar com os novos temas de alto contraste devem ter uma seção de compatibilidade de aplicativos definida em seu manifesto que contenha os GUIDs de compatibilidade do Windows 8. Caso contrário, o Windows assume que o aplicativo foi projetado para uma versão mais antiga do Windows e processa a interface do usuário do aplicativo simulando o modelo de tema clássico do Windows.
Adicionando uma seção de compatibilidade ao manifesto do aplicativo
Um manifesto de aplicativo é um arquivo XML que descreve os requisitos para um aplicativo. A seção de compatibilidade do manifesto identifica as versões do Windows suportadas pelo aplicativo. Os GUIDs a seguir são usados na seção de compatibilidade para identificar as várias versões do Windows.
| Versão | GUID |
|---|---|
| Windows Vista | {e2011457-1546-43c5-a5fe-008deee3d3f0} |
| Windows 7 | {35138b9a-5d96-4fbd-8e2d-a2440225f93a} |
| Windows 8 | {4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} |
A seção de compatibilidade pode especificar várias versões do Windows, mas cada uma deve estar contida em sua própria tag <supportedOS/>. O exemplo a seguir mostra um manifesto de aplicativo que especifica o Windows 7 e o Windows 8 na seção de compatibilidade:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--The ID below indicates application support for Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>
Se um aplicativo não tiver um manifesto de compatibilidade, presume-se que seja um aplicativo do Windows Vista e não usa controles temáticos na área do cliente quando um tema de alto contraste está ativo. Além disso, o comportamento de algumas funções de estilos visuais é afetado. Por exemplo, IsThemeActive, IsCompositionActivee IsAppThemed retornar FALSE, enquanto OpenThemeData e OpenThemeDataEx retornar um identificador NULL. Isso é para suporte de compatibilidade, para que os aplicativos criados antes do Windows 8 ainda possam renderizar sua interface do usuário na mesma aparência do modo de alto contraste das versões anteriores do Windows onde os estilos visuais não estão disponíveis.
No Windows 8, o aplicativo ainda recebe os benefícios da composição da área de trabalho. Isso significa, por exemplo, que aplicações de usabilidade, como a ampliação de ecrã completo, não dependem do estado do manifesto de uma aplicação individual. O aplicativo de usabilidade continua a funcionar em modo de alto contraste com um aplicativo que não se identifica como compatível com o Windows 8 em seu manifesto.
As imagens a seguir mostram uma caixa de diálogo simples em alto contraste no Windows 7.
Esta imagem mostra a mesma caixa de diálogo em alto contraste no Windows 8, mas com compatibilidade com o Windows 7 especificada no manifesto do aplicativo:
Esta imagem mostra a mesma caixa de diálogo em alto contraste no Windows 8, com o Windows 8 especificado no manifesto do aplicativo:
Detetando alto contraste em versões anteriores do Windows
Os aplicativos executados em versões anteriores do Windows não têm acesso aos novos temas de alto contraste. Se o seu aplicativo precisar ser executado em versões anteriores do , você deve incluir suporte para renderizar sua interface do usuário em alto contraste no modelo de tema clássico do Windows. Seu aplicativo pode determinar se um tema de alto contraste está ativo chamando a função SystemParametersInfo com o sinalizador SPI_GETHIGHCONTRAST.
Tópicos relacionados