Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Centrar label en formulario (https://www.clubdelphi.com/foros/showthread.php?t=89783)

Ramsay 05-02-2016 21:33:25

Centrar label en formulario
 
Hola , estoy tratando de lograr crear un label que se posicione perfectamente al medio del form teniendo en cuenta el tamaño de la letra.

Mi codigo :

Código Delphi [-]
procedure form123();
var
  new_label: TLabel;
var
  form_new: TForm;
begin

  form_new := TForm.Create(nil);

  new_label := TLabel.Create(form_new);

  form_new.Caption := 'hola';
  form_new.Width := 500;
  form_new.Height := 300;

  new_label.Alignment := taCenter;
  new_label.Layout := tlCenter;
  new_label.Parent := form_new;
  new_label.Caption := text;
  new_label.Font.Color := clRed;
  new_label.Font.Size := 27;
  new_label.AutoSize := False;

  // new_label.Top := form_new.Height div 2;
  // new_label.Left := form_new.Width div 2;

  new_label.Left := (form_new.Width - new_label.Width) div 2;

  new_label.top := (form_new.Height - new_label.Height) div 2;

  new_label.Show;

  form_new.Show;

end;

Casi lo logro pero el label esta un poco mas abajo y un poco mas a la derecha del verdadero centrado. ¿ Alguien me podria ayudar ?

AgustinOrtu 05-02-2016 23:02:57

Fijate de esta manera:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  ALabel: TLabel;
begin
  ALabel := TLabel.Create(Self);
  ALabel.Parent := Self;
  ALabel.Align := alClient;
  ALabel.Alignment := taCenter;
  ALabel.Layout := tlCenter;
  ALabel.Caption := 'Texto centrado';
end;

Ramsay 05-02-2016 23:53:23

Genial.

Tengo otra duda con este codigo :

Código Delphi [-]
procedure form_123();
var
  form_new: TForm;
begin
  form_new := TForm.Create(nil);
  form_new.Left := 800;
  form_new.Top := 800;
  form_new.Update;
  form_new.Show;
end;

Tecnicamente deberia posicionar mi formulario donde quiere usando left y top pero nunca se ponen en lugar correcto. ¿ Cual es el error ?

AgustinOrtu 06-02-2016 00:24:28

Revisa la propiedad position, que no sea defaultPosOnly

Ramsay 06-02-2016 01:56:57

Era eso , hecho , gracias.


La franja horaria es GMT +2. Ahora son las 13:27:26.

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