Quando criamos formulários, ãs vezes é útil escrever um código para que a tela e todos os seus objetos sejam mostrados nomesmo tamanho, não importando qual a resolução da tela. Aqui esta um código que mostra como isso é feito:
Implementation const
ScreenWidth: LongInt = 800; {I designed my form in 800x600 mode.}
ScreenHeight: LongInt = 600; {$R *.DFM} 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;
Agora, você vai querer checar, se o tamanho dos fontes(de letra) estão OK. Antes de trocar p tamanho do fonte, você precisará ter
certeza de que o objeto realmente tem a propriedade fonte pela checagem da RTTI. Isso pode ser feito assim:
USES typinfo; {Add this to your USES statement.} var
i:integer; begin for i := componentCount - 1 downto 0 do with components[i] do begin if GetPropInfo(ClassInfo, ´font´) <> nilthen
font.size := (NewFormWidth DIV OldFormWidth) * font.size; end; end;