Fórum Resolução de vídeo - Vamos procurar uma solução definitiva?? #292765
23/08/2005
0
Galera,
já utilizei quase todas as opções encontradas no forum para resolver esse problema e nenhum funciona 100¬, todos tem problemas e você acaba tendo que ficar se preocupando com distribuição de espaço no formulário.
Se você cria uma aplicação em 800x600 e utiliza o código que postei quando você utiliza em 1024x768 as fontes ficam grandes demais e existe uma má distribuição de espaço com edits, painels, etc..., o mesmo acontece ao contrario.
Já estou ficando doido com isso.
Alguém sabe como fazer para que os componentes do formulário façam como os componentes do Windows, que utilizem corretamente todos os espaços e respeitando os limites.
Implementation const ScreenWidth: LongInt = 800; ScreenHeight: LongInt = 600; procedure TForm1.FormCreate (Sender: Tobject); begin scaled := true; if (screen.width <> ScreenWidth) then begin height := longint(height) * longint(screen.height) DIV ScreenHeight; width := longint(width) * longint(screen.width) DIV ScreenWidth; scaleBy(screen.width, ScreenWidth); end; end;
Demetrius
Curtir tópico
+ 0Posts
23/08/2005
Wilson Brito
Faça um teste.
Gostei + 0
23/08/2005
Demetrius
[img]C:\Farma Smart\800x600.bmp[/img]
[img]C:\Farma Smart\1024x768.bmp[/img]
Gostei + 0
23/08/2005
Demetrius
Vou tentar de novo.
[img]http://C:\Farma Smart\800x600.bmp[/img]
[img]http://C:\Farma Smart\1024x768.bmp[/img]
Valeu!!!
Gostei + 0
23/08/2005
Demetrius
Não estou conseguindo!!!!
[/url]
Gostei + 0
23/08/2005
Massuda
Gostei + 0
23/08/2005
Demetrius
Vamo nós dinovo!!
800x600
[img:6480942a8c]http://img237.imageshack.us/img237/5667/800x6008yx.png[/img:6480942a8c]
1024x768
[img:6480942a8c]http://img237.imageshack.us/img237/1641/1024x7686ki.png[/img:6480942a8c]
[size=15:6480942a8c][color=red:6480942a8c][b:6480942a8c]Editando o tópico.[/b:6480942a8c][/color:6480942a8c][/size:6480942a8c]
Pessoal, por favor, um detalhe!
Não coloquem imagens muito grandes que venham a distorcer o tamanho padrão do quadro do fórum, pois dificulta a visualização da imagem, bem como da leitura do texto escrito. Se possível, redimensione estas imagens!
Grata pela compreensão,
Sandra/Moderação
Gostei + 0
23/08/2005
Bon Jovi
As âncoras resolvem problemas entre resoluções diferentes. Mas em relação a temas diferentes, tamanho de fontes diferentes e multilinguagem por exemplo, usando posionamento absoluto é complicado mesmo. No Java e .Net 2.0 por exemplo existem gerenciadores de layout nativos que deixam essas coisas mais flexíveis.
Mesmo assim queria saber exatamente como reproduzir o problema q está tendo, pra eu tb poder ajudar.
Gostei + 0
24/08/2005
Demetrius
Faça o seguinte BonJovi.
Crie um form e coloque vários componentes na resolução de 1024x768 e compile, depois mude sua resolução para 800x600. O formulário vai ficar com componentes fora da tela certo. OK!
Mede a resolução novamente para 1024x768.
Agora acrescente esse código e compile:
Implementation const ScreenWidth: LongInt = 1024; ScreenHeight: LongInt = 768; procedure TForm1.FormCreate (Sender: Tobject); begin scaled := true; if (screen.width <> ScreenWidth) then begin height := longint(height) * longint(screen.height) DIV ScreenHeight; width := longint(width) * longint(screen.width) DIV ScreenWidth; scaleBy(screen.width, ScreenWidth); end; end;
Mude a resolução novamente para 800x600 e rode a aplicação. Como pode perceber é necessário colocar entre os componentes do form uma diferença de espaço de pelo menos 4px para que um não sobreponha o outro. Em 800x600 e com o espaço citado acima os componentes não ficam sobrepostos, mas quando utiliza 1024x768 os espaçõs ficam grandes demais e o formulário fica muito feio.
Gostei + 0
24/08/2005
Demetrius
A primeira imagem é porque eu testei o sistema em uma máquina com W98 e na que desenvolvo é XP.
Gostei + 0
24/08/2005
Bon Jovi
Gostei + 0
24/08/2005
Bon Jovi
Gostei + 0
25/08/2005
Bon Jovi
SendMessage(Handle, WM_SIZE, SIZE_MAXIMIZED, 0);
Não esqueça de sempre usar âncoras nos controles onde for necessário.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)