Resolução de vídeo - Vamos procurar uma solução definitiva??
:evil: :evil:
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.
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
Curtidas 0
Respostas
Wilson Brito
23/08/2005
Você já utilizou a propriedade Anchors (âncoras)?
Faça um teste.
Faça um teste.
GOSTEI 0
Demetrius
23/08/2005
Já tentei. Vou postar as imagens do form em 800x600 e em 1024x768.
[img]C:\Farma Smart\800x600.bmp[/img]
[img]C:\Farma Smart\1024x768.bmp[/img]
[img]C:\Farma Smart\800x600.bmp[/img]
[img]C:\Farma Smart\1024x768.bmp[/img]
GOSTEI 0
Demetrius
23/08/2005
Aconteceu algum problema.
Vou tentar de novo.
[img]http://C:\Farma Smart\800x600.bmp[/img]
[img]http://C:\Farma Smart\1024x768.bmp[/img]
Valeu!!!
Vou tentar de novo.
[img]http://C:\Farma Smart\800x600.bmp[/img]
[img]http://C:\Farma Smart\1024x768.bmp[/img]
Valeu!!!
GOSTEI 0
Demetrius
23/08/2005
eeeeeeeeeeeeeeeeeta!!
Não estou conseguindo!!!!
[/url]
Não estou conseguindo!!!!
[/url]
GOSTEI 0
Massuda
23/08/2005
Não estou conseguindo!!!!
Acho que você está com problemas para exibir uma imagem... faça assim:[list:18366d795c][*:18366d795c]Faça o upload da sua imagem no site [url=http://imageshack.us/]ImageShack[/url].[*:18366d795c]Anote/copie o link informado pelo site ImageShack para sua image[*:18366d795c]Quando for usar a tag (img), informe o link que você anotou[/list:u:18366d795c]GOSTEI 0
Demetrius
23/08/2005
Valeu Massuda!!!
Vamo nós dinovo!!
800x600
1024x768
[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
Vamo nós dinovo!!
800x600
1024x768
[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
Bon Jovi
23/08/2005
Acho que ficou confuso essa sua comparação sobre as resoluções de vídeo, pois vc colocou as imagens usando temas diferentes do Windows. E as fontes não mudam de tamanho (quantidade de pontos) qdo se muda resolução, somente os pontos da fonte (e tudo mais) ficam menores qdo a resolução é aumentada e vice-versa.
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.
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
Demetrius
23/08/2005
Foi mal sandra :lol: :oops:
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:
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.
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
Demetrius
23/08/2005
Faltou uma coisa.
A primeira imagem é porque eu testei o sistema em uma máquina com W98 e na que desenvolvo é XP.
A primeira imagem é porque eu testei o sistema em uma máquina com W98 e na que desenvolvo é XP.
GOSTEI 0
Bon Jovi
23/08/2005
Agora reproduzi o q vc fez. O que faz acontecer todo esse problema é esse código que vc está usando... Sem ele a tela fica normal. Então simplesmente não esse código. O q vc está desejando exatamente? Pra facilitar poste o DFM se achar necessário mostrar alguma tela.
GOSTEI 0
Bon Jovi
23/08/2005
Consertando: Então simplesmente não use esse código.
GOSTEI 0
Bon Jovi
23/08/2005
Se está querendo colocar o form no tamanho da resolução de vídeo, apenas mande maximizá-lo:
SendMessage(Handle, WM_SIZE, SIZE_MAXIMIZED, 0);
Não esqueça de sempre usar âncoras nos controles onde for necessário.
SendMessage(Handle, WM_SIZE, SIZE_MAXIMIZED, 0);
Não esqueça de sempre usar âncoras nos controles onde for necessário.
GOSTEI 0