Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

zenfra

Resolução de Tela

Recommended Posts

Olá Pessoal,

 

Esse problema acredito ser meio complicadinho de se resolver. Por exemplo, se estou desenvolvendo uma aplicação no Visual Basic 6 onde a configuração do meu monitor está em 1024X 768 e passar minha configuração para 1152 X 864 os controles dentro do formulário ficaram menores, se passar para 800 X 600 os controles ficaram mioto maiores que a tela.

 

Alguém saberia como contornar esse problema?

É possível ajustar de acordo com o tamnho os controles?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu fiz uma funçãozinha certa vez para corrigir isso, mas não deu tão certo.

 

Na verdade ela funciona, só tive problema em telas que estava utilizando SSTab, fora essas, deu certo.

 

Segue abaixo o que eu fiz:

 

CODE

private sub form_load()

on error goto TrataErro

 

Dim xTwips%, yTwips%, xPixels#, YPixels#

Dim ctlControle As Control

 

xTwips = Screen.TwipsPerPixelX

yTwips = Screen.TwipsPerPixelY

YPixels = Screen.Height / yTwips

xPixels = Screen.Width / xTwips

 

For Each ctlControle In Controls

ctlControle.FontSize = ctlControle.FontSize * (Int(xPixels) / 1024)

ctlControle.Height = ctlControle.Height * (Int(YPixels) / 768)

ctlControle.Width = ctlControle.Width * (Int(xPixels) / 1024)

ctlControle.Top = ctlControle.Top * (Int(YPixels) / 768)

ctlControle.Left = ctlControle.Left * (Int(xPixels) / 1024)

Next

 

Exit sub

TrataErro:

 

If Err.Number = 438 Or Err.Number = 383 Or Err.Number = 393 Then

err.clear

Resume Next

end if

 

end sub

 

Explicando:

 

1° Construi meu programa em 1024 por 768, mas aconselho você a construir o seu em 800 por 600 e alterar os valores das divisões, da forma que eu coloquei acima, dá erro nas textbox.

 

2° Declarei variáveis que receberão os valores da tela, e função em seguida as fazem receber esses valores.

 

3° Eu mandei rodar em todos os objetos da tela a função para dividir seu tamanho, posição e largura por uma proporção que se ajuste à tela.

 

4° O tratamento de erro é indispensável, pois podem haver objetos na tela que, ou o fintsize, ou o heigth ou qualquer outra propriedade sejam somente leitura, e dará erro. Mas com certeza o erro será uma dos três listados no tratamento, então ele somente passa para a próxima linha.

 

Se tiver dúvidas diz ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.