XPman no Win10
24/10/2018
0
Olá, galera. Bom, estou desenvolvendo uma aplicação, porém coloquei o componente XPman para dar um visual bacana, mas percebi que não funcionou. No win7 o visual muda, mas no 10 não. Alguém sabe por quê?
Volkins
Curtir tópico
+ 0
Responder
Post mais votado
29/10/2018
Olá Volkins, não ficou claro qual a versão do Delphi você está utilizando mas o XPman ficou obsoleto com a chegada da versão Delphi xe2 em diante, porque este trouxe uma nova forma de aplicar visuais em run-Time não mais baseados em manifest mas aplicando imagens sobre o "look and feel" do windows para as janelas do aplicativo.
Quem ainda usa o XPManifest como você, tem questionado a mesma coisa que você postou, pois aparentemente ele parou de funcionar em windows 8 e 10, mas o motivo é que o "Look and Feel" (o mecanismo de aparência de janelas do windows) utiliza uma biblioteca totalmente diferente que não está atrelada ao arquivo de Manifest gerado.
A solução é você verificar qual versão do sistema Operacional está instalado e aplicar um thema do ThemeManager. Na internet existem várias formas de pegar a versão do sistema operacional, porém eu acho mais prática a forma que usa o componente JEDI JVComputerInfoEx. Observe como fica no Delphi Berlin:
if JvComputerInfoEx1.OS.OSVersion > wvWin7 then
begin
TStyleManager.TrySetStyle('Windows10 Green')
end;
eu simplesmente adiciono o componente, e verifico se a propriedade OSVersion é maior que a do windows 7 (tem umas 6 versões superiores listadas) e caso seja, eu aplico o thema que vem no Delphi (versões XE 2 em diante).
Espero ter ajudado. Um forte abraço e fique com Deus.
Quem ainda usa o XPManifest como você, tem questionado a mesma coisa que você postou, pois aparentemente ele parou de funcionar em windows 8 e 10, mas o motivo é que o "Look and Feel" (o mecanismo de aparência de janelas do windows) utiliza uma biblioteca totalmente diferente que não está atrelada ao arquivo de Manifest gerado.
A solução é você verificar qual versão do sistema Operacional está instalado e aplicar um thema do ThemeManager. Na internet existem várias formas de pegar a versão do sistema operacional, porém eu acho mais prática a forma que usa o componente JEDI JVComputerInfoEx. Observe como fica no Delphi Berlin:
if JvComputerInfoEx1.OS.OSVersion > wvWin7 then
begin
TStyleManager.TrySetStyle('Windows10 Green')
end;
eu simplesmente adiciono o componente, e verifico se a propriedade OSVersion é maior que a do windows 7 (tem umas 6 versões superiores listadas) e caso seja, eu aplico o thema que vem no Delphi (versões XE 2 em diante).
Espero ter ajudado. Um forte abraço e fique com Deus.
Hélio Devmedia
Responder
Clique aqui para fazer login e interagir na Comunidade :)