Misc - como fazer uma rotinas pra adaptar o tamanho da fonte dependendo do texto do panel

Top  Previous  Next

Como fazer uma mensagem em uma panel o qual adapta o tamanho da fonte para

caber o texto no panel

 

procedure TForm1.Button1Click(Sender: TObject);

var

  W: Integer;

begin

  Canvas.Font.Name  := Panel1.Font.Name;

  Canvas.Font.Style := Panel1.Font.Style;

  Canvas.Font.Size  := Panel1.Font.Size;

 

  while Canvas.TextWidth(Edit1.Text) >= (Panel1.Width - 10) do

    Canvas.Font.Size := Canvas.Font.Size - 1;

 

  while (Canvas.TextWidth(Edit1.Text) <= (Panel1.Width - 50)) and (Canvas.TextHeight(Edit1.Text) 

 

<= (Panel1.Height - 5)) do

    Canvas.Font.Size := Canvas.Font.Size + 1;

 

  Panel1.Font.Size := Canvas.Font.Size;

  Panel1.Caption   := Edit1.Text;

end;