PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Resize do formulario - como aumentar as fontes de acordo com o tamanho do formulario ? #420938

02/08/2012

0

Olá boa tarde!

Estou implementando o código Resize do formulario, até ai tudo bem, funciona bem.

Mas como aumentar o tamanho das fontes de acordo com o Resize do Formulario?

Favor da um exemplo de código



Dese já meus agradecimentos a quem puder ajudar.

100+

ANT.CARLOS/SP




procedure TFrm_Movpdv4.FormResize(Sender: TObject);
var
AH, AW: Word;
R: TRect;
I: Integer;

begin
inherited;

AH := Height;
AW := Width;

//------------------------------------------//
//...Resize dos componentes //
//------------------------------------------//
for I := 0 to ComponentCount - 1 do
if Components[I] is TControl then
if Components[I].Tag = 0 then begin
R := TControl(Components[I]).BoundsRect;
R.Left := MulDiv(R.Left, AW, BW);
R.Top := MulDiv(R.Top, AH, BH);
R.Right := MulDiv(R.Right, AW, BW);
R.Bottom := MulDiv(R.Bottom, AH, BH);
TControl(Components[I]).BoundsRect := R;

end;

BH := Height;
BW := Width;
end;
Antonio Jesus

Antonio Jesus

Responder

Posts

03/08/2012

Antonio Jesus

Olá, bom dia!

Bom explicando o q este código faz:
Vc inicia um formulario no modo Normal e depois expande em tempo de execução, o tamanho dos componente vão aumentar de acordo com o tamanho do formulario, calculo efetuado em % do (altura/Largura inicial) x (altura/Largura final).


Então, pensando melhor, vi q o q eu queria mesmo era alterar os fontes dos Labels, pois o q expande no momento do Resize de Normal para Maximizado são os componetes Edits, Combx, etc. Os Labels ficam com tamanho de fonte do mesmo tamanho do incial, desejaraia q acompanhace a graduação proporcional do form.

100+

ANT.CARLOS/SP


Código completo
-----------------------------
private
{ Private declarations }
BH: Word;
BW: Word;

-----------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
BH := Height;
BW := Width;

end;

procedure TForm1.FormResize(Sender: TObject);
var
AH, AW: Word;
R: TRect;
I: Integer;

begin
AH := Height;
AW := Width;

for I := 0 to ComponentCount - 1 do
if Components[I] is TControl then
if Components[I].Tag = 0 then begin
R := TControl(Components[I]).BoundsRect;
R.Left := MulDiv(R.Left, AW, BW);
R.Top := MulDiv(R.Top, AH, BH);
R.Right := MulDiv(R.Right, AW, BW);
R.Bottom := MulDiv(R.Bottom, AH, BH);
TControl(Components[I]).BoundsRect := R;
end;

BH := Height;
BW := Width;
end;








Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar