Como aumentar os fontes de todos os componebtes de um formulário ?

Delphi

06/08/2012

Olá, boa tarde!

Estou precisando alterar as fontes de um formulario em tempo de execução, com fazer isto lendo todos os componentes?

Eu determinarei o tamanho dos fontes q serão alterados.
Quero q em todos os comp. o fontes seja alterado.

A quem puder ajudar desde já meus agradecimentos.

100+

ANT.CARLOS/SP
Antonio Jesus

Antonio Jesus

Curtidas 0

Respostas

Gustavo Bretas

Gustavo Bretas

06/08/2012

Antonio Carlos, verifica os componentes que tem a propriedade ParentFont, deixe True, faça o teste, e veja se te atende, se não atender, veremos outra solução!

Abraço!
GOSTEI 0
Gustavo Bretas

Gustavo Bretas

06/08/2012

Desculpe Antonio, esqueci de dizer para vc fazer o teste alerando a Fonte do Formulário! rsrs

Então vc deixa a propriedade ParentFont = True, e altera as configurações de fonte do formulário, teoricamente os componentes do formulário adotarão a fonte alterada!
GOSTEI 0
Antonio Jesus

Antonio Jesus

06/08/2012

Olá bo noite!
então, o q eu queria seria +- assim:


for i:=0, i form.componentes.count-1 do
componente.fontes.size := 14;


Este é apenas um exemplo, entendeu!
Quero percorrer cada comp. do form e mudar a fonte de tamanho.

100+

ANT.CARLOS/SP
GOSTEI 0
Marco Salles

Marco Salles

06/08/2012

bem , olhei o helph do Delphi que diz

Vcl.StdCtrls.TButton.Font inherits from Vcl.Controls.TControl.Font. All content below this line refers to Vcl.Controls.TControl.Font


Parece que esta definido em TControl como uma propriedade que sera publicada por controles descendentes

 TControl = class(TComponent)
...
...
..
 protected
....
....
{$IF DEFINED(CLR)}
    property WindowText: string read FText write FText;
{$ELSE}
    property Color: TColor read FColor write SetColor stored IsColorStored default clWindow;
    property Font: TFont read FFont write SetFont stored IsFontStored;
    property WindowText: PChar read FText write FText;
{$IFEND}


Talves uma solução seria Hackear esta propriedade protegida


defina esta classe aparentemente boba
Type
 THacker = class(TControl);


escreva e teste

for i:=0 to pred(ControlCount) do
 THacker(Controls[i]).Font.Size:=14;
GOSTEI 0
POSTAR