Resolução 800x600 e 1024x728

Delphi

05/02/2003

Gostaria de saber como faço para transformar uma aplicação com resolução 1024x728 que foi feita na minha maquina para a maquina do usuario que é 800x600. Na maquina do usuario a aplicação fica enorme e tem que usar a barra de rolagem para subir e descer a aplicação.


Anonymous

Anonymous

Curtidas 0

Respostas

Anonymous

Anonymous

05/02/2003

O ideal é vc alterar a sua resolucao para a mesma resolucao do cliente (800 X 600) para gerar o executavel.
Outra solucao seria usar a rotina abaixo.
segue abaixo uma rotina (eu nao testei) retirada da E-zine Número 07 - Ano 4 - 04/02/2003 - Ramos da informatica.
**********************************************************
6.) Dica enviada por Jorge Takeshi Sato - jtsato@bol.com.br

Como sempre consulto as vossas dicas, também vou colaborar...

Adaptando o Formulário para resolução de vídeos diferentes:

No Create do Form faça:

const iWidth : smallint = 1152; { Resolução de Desemvolvimento do Form }
iHeight : smallint = 864;
var i : integer;

begin
for i := 0 to ComponentCount -1 do
begin { Varre todos os componentes do form que possam ser redefinidos (classe TWinControl) }
if Components[i] is TWinControl then
begin { Redefine os componentes em proporção ao original }
TWinControl(Components[i]).Width := Round(TWinControl(Components[i]).Width * (Screen.Width / iWidth));
TWinControl(Components[i]).Height := Round(TWinControl(Components[i]).Height * (Screen.Height / iHeight));
TWinControl(Components[i]).Left := Round(TWinControl(Components[i]).Left * (Screen.Width / iWidth));
TWinControl(Components[i]).Top := Round(TWinControl(Components[i]).Top * (Screen.Height / iHeight));
TWinControl(Components[i]).Top := Round(TWinControl(Components[i]).Top * (Screen.Height / iHeight));
end;
end;
{ Redefine o Formulário }
Self.Width := Round(Self.Width * (Screen.Width / iWidth));
Self.Height := Round(Self.Height * (Screen.Height / iHeight));
Self.Top := Round(Self.Top * (Screen.Height / iHeight));
Self.Left := Round(Self.Left * (Screen.Width / iWidth));
{ Altera o tamanho da Fonte do Formulário }
Self.Font.Size := Round(Self.Font.Size * (Screen.Height / iHeight));

Importante: Para que todos as Fontes dos Componentes sejam alterados setar ParentFont para True.
***********************************************************

[]´s
Marcio Matos -SC


GOSTEI 0
POSTAR