Ver Mensaje Individual
  #3  
Antiguo 20-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola morfeo21.

Si la propiedad Align del Memo es alClient, una forma de hacer lo que querés es la siguiente:

Código Delphi [-]
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormShow(Sender: TObject);
    procedure FormCanResize(Sender: TObject; var NewWidth,
      NewHeight: Integer; var Resize: Boolean);
  private
    FRate, FSize : Integer;
  public
  end;
...
interface
...
procedure TForm1.FormShow(Sender: TObject);
begin
  FRate:= ClientWidth * ClientHeight;
  FSize:= Memo1.Font.Size;
end;

procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
var
  NewSize: Integer;
begin
  NewSize:= Trunc(NewWidth * NewHeight * FSize / FRate);
  if NewSize > 0 then
    Memo1.Font.Size:= NewSize
end;
De ese modo el tamaño del font crece o decrece de acuerdo al tamaño del form (no del Memo), pero al estar este último
alineado alClient, logras el efecto deseado.

Saludos.
Responder Con Cita