Resolução de Tela alguem sabe como ?

Delphi

17/08/2006

E ai Galera Blz

Bom me deparei com um pequeno Problema que não faço ideia de como resolver fiz meu sistema com resolução de video de 1024 - 768 mas quando coloquei em uma maquina que tinha a resolução 800 - 600 meu sistema ficou sem aparecer algums campos .

Bom Tem como eu fazer algo do tipo quando a resolução de Tela do computador for 1024 - 768 ajustar todos os meus formularios para esta resolução e se for 800 - 600 ajustar os formularios para essa resolução e se não for nenhuma dessas duas da uma mensagem para o usuario Tipo [color=Blue:d09c64aaa3]´Sistema não suporta sua resolução atual mude a resolução de video para 1024 por 768 ou 800 por 600´[/color:d09c64aaa3], alguem sabe alguma coisa a respeito ?

Valeu Agradeço desde Já! :D


Alecsandro Moura

Alecsandro Moura

Curtidas 0

Respostas

Night_man

Night_man

17/08/2006

existe uma class chamada TScreen, ela tem informacoes da tala tipo resolucao e tal.


voce poderia fazer

if (Screen.Width <> 800) and (Screen.Height <> 600) then
  ShowMessage(´Erro´)


outra coisa q poderia ser feita para ajustar a tela de acordo com a resolucao e utilizar os Align e Anchors dos componentes

Alinhado e ancorado em algum lado


GOSTEI 0
Jáder Medeiros

Jáder Medeiros

17/08/2006

Quem tiver o interesse de auto-ajustar algum formulário que na resolução 800x600 ficou totalmente ilegível, coloque o seguinte código no OnCreate dele:

Com este código, todos os componentes são re-escalados para tal proporção de resolução utilizando toda a área disponível do Desktop.

const
    HeightTaskBar = 32;
begin
    if (Top+Height > Screen.DesktopHeight-HeightTaskBar) and (Height > Screen.DesktopHeight-HeightTaskBar) then begin
        Top := 0;
        ChangeScale(Screen.DesktopHeight-HeightTaskBar,Height);
        Height := Screen.DesktopHeight-HeightTaskBar+2
    end;
    if (Left+Width > Screen.DesktopWidth) and (Width > Screen.DesktopWidth) then begin
        Left := 0;
        ChangeScale(Screen.DesktopWidth,Width);
        Width := Screen.DesktopWidth+2
    end
end;


PS: Para Delphi 7, a constante HeightTaskBar se faz desnecessária pois a classe TScreen ganhou as propriedades WorkAreaHeight e WorkAreaWidth que substituem respectivamente Screen.DesktopHeight-HeightTaskBar e Screen.DesktopWidth.


GOSTEI 0
POSTAR