Fórum WinVista VS Win7 - Mesma resolução, layout diferente #419728
11/07/2012
0
Estou com um problema e já procurei uma solução em vários sites e fóruns, mas nenhuma das soluções apresentadas resolveu meu problema. Vou detalhar o ambiente e o problema, para entender e propor uma solução, por favor, leia até o fim, pois ele é parecido com outros problemas que vi aqui no fórum, mas não e igual.
>>> Item 1 - Ambiente <<<
> Notebook #1 <
- SO: Windows Vista Ultimate - SP2.
- Tipo de SO: 32 Bits.
- Fabricante: DELL.
- Processador: Intel Core 2 Duo T6400 2GHz.
- Adaptador de Video: Mobile Intel(R) 965 Express Chipset Family.
- Resolução: 1280 X 800.
- Taxa de atualização: 60 Hertz.
- Qualidade de cor: 32 Bits.
> Notebook #2 <
- SO: Windows 7 Ultimate - SP1.
- Tipo de SO: 64 Bits.
- Fabricante: DELL.
- Processador: Intel Core i5-2450M 2.5GHz.
- Adaptador de Video: Intel(R) HD Graphics Family + NVIDIA GeForce GT 525M.
- Resolução: 1280 X 800.
- Taxa de atualização: 60 Hertz.
- Qualidade de cor: 32 Bits.
>>> Item 2 - Aplicativo <<<
- Desenvolvido: Delphi 6.
- Compatibilidade: Delphi 7.
- Compilação: Delphi 6 ou Delphi 7.
- Biblioteca: VCL.
>>> Item 3 - Problema <<<
> Propriedades Left, Top, Height e Width <
- Notebook #1 e vários desktops: Variação pequena e quase imperceptível, pois a váriação é mínima independente da resolução.
- Notebook #2: Variação grande se comparado com o Notebook #1, tanto em run-time quanto design-time.
>>> Item 4 - Imagem da mesma janela <<<
- Notebook #1: http://www.cassic.com.br/files/Notebook_1.jpg
- Notebook #2: http://www.cassic.com.br/files/Notebook_2.jpg
>>> Item 5 - Obsevação <<<
- O item 1 mostra que a resolução, taxa de atualização e qualidade de cor nos dois notebooks é igual, logo o problema não está (apenas) na resolução.
Agradeço pelas respostas que forem postadas.
Cicero França.
Curtir tópico
+ 0Posts
19/07/2012
Bruno Leandro
Gostei + 0
19/07/2012
Bruno Leandro
Gostei + 0
19/07/2012
Bruno Leandro
Gostei + 0
23/07/2012
Cicero França.
Olá Bruno,
Cara, passei uma semana acamado, por isto não respondi antes, mas vamos lá. Já havia notado a mudança da propriedade PixelsPerInch, mas não tinha mudado as propriedades PrintScale e Scaled como você informou. Testei aqui, mas continuou dando erro, mas valeu a dica. Estou tentando ver outras possibilidades, se conseguir resolver postarei a resposta aqui.
Caso alguém tenha passado pelo mesmo problema e tenha resolvido, por favor, postem aqui a solução. Desta maneira a comunidade Delphi agradece e fica mais forte.
Gostei + 0
31/07/2012
Cicero França.
Tenho uma triste noticia para vocês sobre o problema que resultou neste post.
As resoluções do Delphi é baseada no tamanho do texto configurado no Windows, por este motivo estava tendo o problema. Existem duas maneira de resolver o problema que irei apresentar abaixo:
>>> Resolução 1 <<<
Entre em Painel de Controle numa das sub-opções de Vídeo tem Ampliar ou reduzir texto e outros itens. No meu caso o tamanho da fonte estava Médio - 125%, mudei para Menor - 100% e reiniciei o notebook. Ao liga-lo como por milagre o layout voltou ao normal.
>> Vantagem: Você não muda nada no projeto.
>> Desvantagem: Você tem que mudar as configurações do cliente caso isto aconteça na máquina dele.
>>> Resolução 2 <<<
Coloque a função abaixo num local que seja compartilhado por todas as units:
function Dimensionar(const X: Integer): Integer;
begin
Result := MulDiv(X, Screen.PixelsPerInch, 96);
end;
Sempre que houver uma mudança em run-time das propriedades TOP, LEFT, HEIGHT ou WIDTH, utilize a função acima como mostrado no exemplo:
Substituir: Button1.Top := 20;
Por: Button1.Top := Dimensionar(20);
>> Vantagem: Você não muda as configurações do cliente.
>> Desvantagem: Você tem que mudar e testar todo o aplicativo em configurações diferentes.
Se alguém tiver outra solução, por favor compartilhem conosco.
Espero ter ajuda a quem tenha passado por este mesmo problema. Se você é um deles, deixe sua opinião.
A comunidade Delphi tem ser mais unida e compartilhar mais seu conhecimento, só assim ela será uma comunidade forte. Forte não quer dizer volumosa, mas sim com profissionais bons e que sabem compartilhar seus conhecimentos!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)