teclas resetear reiniciar pixi one formatear fabrica con como celular alcatel delphi resize scale delphi-xe2 tform
EasySize

resetear - Cómo restablecer un TForm delphi a la apariencia original después del uso de ScaleBy()



como resetear un alcatel one touch pop c5 (3)

Primero, ajuste la escala a la escala original, luego escale a una nueva escala. Por ejemplo, para escalar un formulario en un evento OnResize:

... private FDesignHeight: Integer; FDesignWidth: Integer; FPrevWidth: Integer; end; ... procedure TForm1.FormShow(Sender: TObject); begin FDesignHeight := Height; FDesignWidth := Width; FPrevWidth := Width; Scaled := True; end; procedure TForm1.FormResize(Sender: TObject); begin if Scaled then begin DisableAlign; ScaleBy(FDesignWidth, FPrevWidth); ScaleBy(Width, FDesignWidth); EnableAlign; end; FPrevWidth := Width; end; procedure TForm1.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean); begin NewHeight := Round(NewWidth * FDesignHeight / FDesignWidth); end;

Quiero permitir que el usuario dimensione un formulario con sus controles proporcionalmente redimensionados. ScaleBy (N, M) funciona bien para mí, pero hay, por supuesto, errores acumulativos de redondeo si se repite. Para contrarrestar esto, simplemente deseo anteceder a ScaleBy () con una llamada para recrear el formulario en su apariencia y tamaño predeterminados y luego llamar a ScaleBy con varios valores. Sé que puedo hacerlo alojando mi formulario dentro de un panel (y desechándolo / recreándolo) pero ¿hay una llamada que restablecerá el formulario después de usar ScaleBy ()?

Editar: estoy usando Delphi XE2 y también me interesaría el éxito de cualquier persona con un componente u otro código (pagado o gratuito) para escalar un formulario de manera ordenada: mis propias descargas no han producido una solución funcional.


Una solución sería usar la propiedad Componentes del formulario interar sobre todos los controles secundarios de un formulario y restablecerlos a su valor original.

El siguiente artículo tiene un código de ejemplo: http://delphi.about.com/od/adptips2005/qt/storecontrolpos.htm

Esto es para un propósito ligeramente diferente, pero no debería ser difícil modificar el código según sus necesidades.


Pruebe el EasySize ( TFormResizer ).
El componente TFormResizer cambia el tamaño de todos los controles en un formulario (o panel) cuando cambia el tamaño del formulario.
Lo utilicé con éxito hace años: funciona con D5 / 7. Es posible que deba hacer pequeños ajustes para XE2 (no tengo XE2, así que no puedo probarlo).

Uso:

uses ..., Easysize; type TForm1 = class(TForm) ... procedure FormCreate(Sender: TObject); procedure FormResize(Sender: TObject); private FR: TFormResizer; end; ... procedure TForm1.FormCreate(Sender: TObject); begin FR := TFormResizer.Create(Self); FR.ResizeFonts := True; FR.InitializeForm; end; procedure TForm1.FormResize(Sender: TObject); begin FR.ResizeAll; end; end.