Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   font del memo sea escalable (https://www.clubdelphi.com/foros/showthread.php?t=71428)

morfeo21 17-12-2010 21:24:58

font del memo sea escalable
 
Buenas tardes amigos del foro ,una vez mas solicitando ayuda.
tengo una inquietud con respecto a algo que se me presento al mostrar ayudas flotantes de articulos. pues veran los articulos que muestra esta ayuda son en base a la peticion de usuario realizando varios filtros en la base de datos ; esto funciona correctamente pero el problema esta en la parte en la cual se muestra las especificaciones del producto en un componente memo el cual esta definido del mismo tamanio que el componente memo en la cual se realiza la carga ; pero cuando ellos maximizan el componente memo que contiene el texto el contenido del texto se distorciona asi es que lo que pretendo es que si ellos maximizan el memo la letras crescan en proporcio al tamanio del form que la contiene . existe alguna propiedad para ello ? gracias de antemano por su repuesta.:o

rgstuamigo 18-12-2010 15:51:32

Para entenderte mejor
 
Cita:

Empezado por morfeo21 (Mensaje 385310)
...pero cuando ellos maximizan el componente memo que contiene el texto el contenido del texto se distorciona asi es que lo que pretendo es que si ellos maximizan el memo la letras crescan en proporcio al tamanio del form que la contiene
...

A que te refieres cuando hablas de Maximizar un Memo?:confused:
No será mas bien Maximizar el formulario?:rolleyes:.
Explicate un poco mejor.;)
Saludos...:)

ecfisa 20-12-2010 08:57:51

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.

morfeo21 23-12-2010 21:27:38

Respuesta inmediata
 
Muchas gracias por sus respuestas me pondré a realizar los cambios necesarios en mi proyecto sabia que podía contar con ustedes.


La franja horaria es GMT +2. Ahora son las 07:20:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi