por Marcos Elias
Por que alguns programas, especialmente os mais antigos, ficam com o visual diferente da maioria dos programas que roda no Windows XP? Você já deve ter percebido que alguns programas ficam com os botões retangulares e de uma cor fixa, e os botões do Windows XP têm as bordas arredondadas e se destacam ao passar o mouse…
Veja um exemplo… A tela de um programa, sem suporte aos temas visuais do XP:
E a mesma tela, com suporte aos temas:
Os temas visuais do Windows XP ou superior são aplicados apenas nos programas que foram projetados para suportá-los. Isso evita problemas com alguns programas antigos, com componentes visuais que poderiam ficar instáveis se os temas visuais fossem aplicados. Mas tem um jeito…
Aproveitando, vou falar um pouco dos temas. Os temas do XP são formados por diversas imagens em bitmap, que um serviço especial do sistema operacional ativa e "sobrepõe" sobre a estrutura da janela padrão do programa. No fundo, os botões continuam sendo retangulares e retos, mas os temas são como uma "pele" ("skin") jogada por cima, que cobre essa estrutura, deixando-a mais bonitinha. Isso é tão rápido que nem se percebe, exceto em computadores muito lentos para o sistema usado, ou quando o PC está sobrecarregado de tarefas e você fica abrindo muitas janelas.
Mas o Windows só aplica os temas se os produtores do programa incluiram nele uma notificação especial, de suporte aos temas. É basicamente um arquivo de texto puro, que normalmente é inserido como um recurso dentro do programa. Programadores e desenvolvedores de software devem saber o que estou falando, sobre os "recursos", "resources". Mesmo em programas prontos, dá para aplicar com algum editor de recursos, como o Resource Hacker, por exemplo (tecnicamente, é o recurso do tipo "24", de nome "1"). Uma outra forma de aplicar os recursos é deixando o arquivo de "manifestação", digamos assim, na mesma pasta do executável. Isso fica mais fácil pois não é necessário modificar o programa.
Crie um arquivo de texto puro, por exemplo no Bloco de notas, e salve com a extensão ".manifest". Não estranhe, é esta extensão mesmo. Dentro do arquivo, deixe isso, destacado em vermelho:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity name="ProgramaComTema" processorArchitecture="x86" version="1.0.0.0" type="win32"/><description>ProgramaComTema</description><dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly></dependency></assembly>
Esse arquivo ativa os temas visuais. Você deve deixá-lo na mesma pasta do programa, com o mesmo nome do executável, só que com a extensão ".manifest". Inclua a extensão ".exe" também, por exemplo, "Meu programa.exe.manifest". Isso vale tanto para usuários que querem ver os programas antigos com os temas visuais, como para programadores: basta distribuir esse arquivo ou instalá-lo na mesma pasta do seu programa, só tomando o cuidado de deixá-lo com o mesmo nome do executável.
Isso acontece porque, sempre que um programa é iniciado, o Windows procura por esse arquivo, seja dentro do programa (incluído como recurso) ou externo, com a extensão ".manifest". Se encontrar, ativa os temas visuais; se não encontrar, usa as janelas sem temas.
Se você perceber que um programa fica estranho ou não funciona direito, então desista do suporte aos temas para ele, ou procure uma nova versão do programa, se disponível. Nas versões de Windows anteriores ao XP isso não terá efeito nenhum, afinal elas não possuem o gerenciamento de temas.
Dica para programadores: a maioria dos ambientes de programação lançados após o Windows XP incluem um meio de colocar esse arquivo no programa, como recurso. No Borland Delphi, por exemplo, basta adicionar "XPMan" na cláusula "uses" do projeto, e compilar o programa. Ele então terá suporte aos temas visuais do Windows.
















Nenhum comentário até agora ↓
Seja o primeiro a comentar esse artigo :)
Deixe seu comentário