Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comportamiento extraño de un TLabel con taRightJustify, AutoSize y MaxWidth (https://www.clubdelphi.com/foros/showthread.php?t=48284)

gluglu 20-09-2007 17:44:44

Comportamiento extraño de un TLabel con taRightJustify, AutoSize y MaxWidth
 
Hola compañer@s !

Acabo de percibir un comportamiento más que extraño de un TLabel.

Dicho TLabel está alineado a la derecha con taRightJustify, tiene la propiedad Autosize a True, y en la propiedad Constraints tiene un valor dado en MaxWidth.

Pues bien, si el texto que debe de mostrar el susodicho Label supera en anchura el MaxWidth impuesto, se me va desplazando hacia la izquierda en el form sin más. Lo cual entiendo es totalmente anormal ya que lo quiero situado en su sitio justificándose a la derecha en la posición que lo coloqué en el Form. :confused:

Sólo indicarlo aquí por si a alguien también le ha pasado anteriormente y si ha sabido darle alguna solución normal.

Utilizo Delphi 2006 Vcl.Net

dec 20-09-2007 17:52:56

Hola,

Pareciera que entra en juego el "AutoSize", ¿no? Tal vez tenga eso más relevancia que el "Constraints"...

gluglu 20-09-2007 18:09:41

No sé lo que entra en juego o no, la cuestión es que el comportamiento es anormal.

El TLabel lo necesito justificado a la derecha porque todos los Labels del form están justificados a la derecha.

El AutoSize lo ponga para que el Click del ratón sobre el Label tenga sólo efecto en el texto real, y no en un posible tamaño predeterminado del Label que sea más grande que el texto a mostrar.

Y para que no se me salga del form hacia la izquierda, que tiene un límite, le puse un valor máximo de anchura.

Pues eso, que el comportamiento en caso de que el tamaño del Label.Caption sobrepase el ancho máximo, se me vá desplazando a la izquierda sin más. Y además lo curioso es que INCLUSO en tiempo de diseño me pasa esto. :eek:

egostar 20-09-2007 18:19:46

Cita:

Empezado por gluglu (Mensaje 232553)
No sé lo que entra en juego o no, la cuestión es que el comportamiento es anormal.

El TLabel lo necesito justificado a la derecha porque todos los Labels del form están justificados a la derecha.

El AutoSize lo ponga para que el Click del ratón sobre el Label tenga sólo efecto en el texto real, y no en un posible tamaño predeterminado del Label que sea más grande que el texto a mostrar.

Y para que no se me salga del form hacia la izquierda, que tiene un límite, le puse un valor máximo de anchura.

Pues eso, que el comportamiento en caso de que el tamaño del Label.Caption sobrepase el ancho máximo, se me vá desplazando a la izquierda sin más. Y además lo curioso es que INCLUSO en tiempo de diseño me pasa esto. :eek:

Pues si, ya lo he probado y efectivamente, se desplaza a la izquierda, como si el anchor estuviera asignado a la derecha, lo hice con Delphi4 pensando que fuera algo de la versión, pero no, igual pasa.

Salud OS.

ElDioni 20-09-2017 15:33:46

Me pasa lo mismo
 
Hola amigos,

este es un tema antiguo pero que veo que no se le dio solución, lo rescato para saber si a alguien se le ocurre que puede ser lo que provoca este comportamiento, ya que, a mi me está pasando lo mismo en un programa en el que quiero hacer lo mismo que comentaba gluglu en su primer mensaje.
Añado que, haciendo algunas pruebas, si pongo el autosize del label a false si que se posiciona correctamente aunque pierdo que el label crezca en altura, por lo que los mensajes que pongo se me quedan cortados si superan el heigtht por defecto. He hecho pruebas con el anchors y tampoco me funciona, también se vuelve loco.

Utilizo Delphi XE7, el label está configurado así:
Código:

Lbl.Autosize:=true;
Lbl.Alignment:=taRightJustify;
Lbl.Parent:=pnlConver;
Lbl.Width:=325;
Lbl.Constraints.MaxWidth:=325;
Lbl.AutoSize:=True;
Lbl.Constraints.MinHeight:=30;
Lbl.WordWrap:=True;
Lbl.Font.Name:='Arial';
Lbl.Font.Size:=12;
Lbl.Font.Charset:=ANSI_CHARSET;

Si a alguien se le ocurre como hacer para que el label no se desplace agradecería la ayuda.

Saludos.


La franja horaria es GMT +2. Ahora son las 17:24:56.

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