Fórum O eterno problema da diferença de resolução de vídeo #351640
10/01/2008
0
Desenvolvo em 1280 x 1024 e meu cliente usa 1024 x 768. Meus lindos
formulários ficaram gigantes (como não poderia deixar de ser) nesta
resolução.
Já pesquisei, ví muitas ´soluções´, testei-as, mas nada funcionou.
Pergunto, o que fazem vocês no desenvolvimento? Utilizam uma resolução mas comum, digamos padrão (1024x768) e deixam os formulários com tamanho satisfatório nesta resolução ou há alguma forma melhor de tratar este problema?
Luciano.badoe
Curtir tópico
+ 0Posts
10/01/2008
Delphijean
Gostei + 0
10/01/2008
Facc
Alguem teria uma solução definitiva para isso? Pois não quero ter que usar a mesma resolução dos meus clientes, ou seja meu programa que teria que se adaptar as várias resoluções (800x600, 1024 x 768, 1280 x 1024)
Gostei + 0
10/01/2008
Edilcimar
Gostei + 0
10/01/2008
Facc
e como fazer isso?
Gostei + 0
10/01/2008
Onjahyr
Não é uma opção boa, nenhum programador (ética profissional) pode manipular o computador dos outros, isso é uma regra básica. Configurações do computador devem ser alteradas pelo próprio usuário e não atravez dos nossos programas.
Qdo eu pego um programa que mexe nas minhas configurações eu desinstalo ele logo!
E mais, a resolução pode não ser adequada as configurações do hardware dele e fazer com que o Monitor seja danificado permanentemente. Quem usa Linux sabe do que estou falando! Resolução de vídeo é coisa séria. No WIndows, nas configurações mostra exatamente as opções válidas e não deixa que o usuário coloque uma que não suporta. No Linux tem como fazer isso mas fica a critério de cada um.
Gostei + 0
10/01/2008
Delphijean
[color=red:b728dafc7d]Resolução Indicada: 1024 x 768[/color:b728dafc7d]
==Uma Saída Basíca======================
Você pode ver quanto porcento cada um dos seus componentes representam do tamanho do seu form na resolução que você usa e dai na abertura de cada tela indicar o tamanho do componente por percentual incusive do proprio form dai ele irá assumir um tamanho esteticamente correto pra cada resolução a ser usada.
[b:b728dafc7d][color=red:b728dafc7d]Dá um certo trabalho mas, funciona.[/color:b728dafc7d][/b:b728dafc7d]
Gostei + 0
10/01/2008
Luciano.badoe
Como fazer isso?
Gostei + 0
10/01/2008
Delphijean
vc tem uam tela com as seguinte medidas
[b:c3bd8e6eae]W[/b:c3bd8e6eae]idth: 200 [b:c3bd8e6eae]H[/b:c3bd8e6eae]eight: XXXX
e dois Edits um com W: 60 outro com W: 140 então,
o Primeiro tem um W: de 30¬ da tela e o segundo Wde 70¬ da tela;
dai no evento onShow do Form vc diz que:
procedure formShow... begin Edit1.Width := Round((Self.Width * 30) / 100); Edit2.Width := Round((Self.Width * 70) / 100); end;
veja que o [b:c3bd8e6eae]Round()[/b:c3bd8e6eae] é usado porque os propriedades Width não aceita numeros flutuantes...
agora basta vc adaptar ao que vc quer.
Gostei + 0
11/01/2008
Luciano.badoe
Obrigado pelo exemplo.
Mas sobre o próprío form, digamos que ele está legal em 1280 x 1024 e desejamos adaptá-lo para 1024 x 768, neste caso vc aplica um valor de redução para o mesmo?
Valeu.
Gostei + 0
11/01/2008
Delphijean
em 1280 x 1024 o objeto Edit1.Width é igual a 100 que representa 10¬ do width do form quando estiver em 1024x768 o Edit1.Width é igual a 85 porém o percentual é o mesmo 10¬.
esperero que tenha entendido;
Gostei + 0
11/01/2008
Delphijean
http://www.guiadodelphi.com.br/ler.php?codigo=350
att,
Gostei + 0
11/01/2008
Luciano.badoe
Desculpe, me expressei mal.
Nas verdade me referia diretamente ao objeto do formulário.
Sabendo que o edit1 representa 10¬ do form, sei que vou manter este padrão, mas e o form. Como ter idéia do percentual?
Gostei + 0
11/01/2008
Edilcimar
vc pode fazer 2 coisas
1)
If (Screen.Width < 800) or (Screen.Height < 600) then
Begin
ShowMessage(´A CONFIGURAÇAO MÍNIMA DA TELA É 800x600 PIXELS´ + #13 + 10 + ´A configuração atual está ´ + IntToStr(Screen.Width) + ´x´ +
IntToStr(Screen.Height));
Application.Terminate;
End
2)
DevMode.dmPelsWidth := 800;
DevMode.dmPelsHeight := 600;
neste caso salve a definição anterior em 2 variáveis para ao terminar o programa redefiní-la como estava
Gostei + 0
11/01/2008
Delphijean
veja esta matéria: http://www.guiadodelphi.com.br/ler.php?codigo=350
observer o que ele faz com o width e height do form, além do ScaleBy();
att,
Gostei + 0
17/01/2008
Cacau
É fácil e em vc pode testar em tempo de projeto, além de que os clientes que possuem uma resolução maior se beneficiam com o aproveitamento da tela.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)