Delphi/Lazarus: Crear Label en tiempo de ejecución dinámicamente
Consejo de Stefan Trost | Última actualización el 18/11/2022 | Creado el 02/05/2022
Con este pequeño ejemplo de código, quiero mostrarle cómo puede crear y colocar un nuevo TLabel dinámicamente en el tiempo de ejecución de su programa.
Primero veamos el código que se puede usar para Delphi y Lazarus de la misma manera:
var ANewLabel: TLabel; begin ANewLabel := TLabel.Create(Form1); ANewLabel.Name := 'la_new'; ANewLabel.Caption := 'New Label'; ANewLabel.Left := 20; ANewLabel.Top := 10; ANewLabel.Visible := true; ANewLabel.Parent := Form1; end;
Con TLabel.Create(), podemos poner una nueva Label de la nada. Para que podamos cambiar sus propiedades, utilizamos la variable "ANewLabel" en la que almacenamos temporalmente una referencia a la nueva Label, para que luego podamos usar esta variable para establecer algunas propiedades de la Label.
Name, Parent y Owner de la Label
Sobre todo, dos cosas son importantes en el código: Primero, cada control en la misma forma tiene que tener un nombre único. Si establecemos el nombre de la nueva Label en "la_new" como en nuestro ejemplo y nos gustaría crear otra Label después de eso, tenemos que usar otro nombre para esto (por ejemplo "la_new2").
En segundo lugar, es muy importante que establezcamos la propiedad "Parent" de la Label. Esto determina en qué control se coloca la Label y se vuelve visible allí. En el ejemplo, colocamos la etiqueta en "Form1" (el nombre de nuestro formulario), pero también podemos usar un Panel (TPanel) o una TabSheet (TTabSheet) o cualquier otra cosa. Si no estableciéramos la propiedad "Parent", nuestra Label permanecería invisiblemente oculta y solo existiría en la memoria.
Si no queremos cuidar liberar la memoria de la Label después de que la Label ya no es necesaria, es igualmente importante establecer el "Owner" de la Label. Sin embargo, esta vez, no establecemos esto posteriormente a través de una de las propiedades de la Label, sino directamente al crear la Label como un parámetro de Create() pasando "Form1" aquí. Como resultado, la Label se lanza automáticamente cuando se lanza nuestro formulario y nos ahorramos para llamar al procedimiento .Free de la Label manualmente.
Posicionamiento y Caption
Aparte de eso, establecemos algunas otras de las propiedades, como "Left" y "Right" para colocar la Label en el formulario (aquí a 20 píxeles del borde izquierdo y a 10 píxeles del borde superior) o "Caption" para mostrar un texto en la Label.
Por supuesto, de esta manera también podríamos establecer todas otras propiedades concebibles que de otro modo sean ajustables a través del Object Inspector.
Sobre el Autor
Puede encontrar software de Stefan Trost en la pagina es.sttmedia.com. ¿Necesita un software individual según sus propios requisitos? Escribenos: es.sttmedia.com/contacto
Ver Perfil
Temas Relacionados
MySQL: Saltos de Línea en MySQL
Consejo | 0 Comentarios
Script Batch: Apagar Computadora Windows
Tutorial | 2 Comentarios
PHP: Enviar Formulario con muchas Casillas de Verificación a un Script cómodamente
Consejo | 2 Comentarios
VirtualBox: Cambiar la Fecha y la Hora
Tutorial | 10 Comentarios
Poner Windows via Script en Hibernación o Modo de Suspensión
Tutorial | 0 Comentarios
Lazarus: Cargar Archivo como Array de Bytes y Guardar Array de Bytes como Archivo
Tutorial | 0 Comentarios
Lazarus: Detectar el Sistema Operativo (Compiler Switch)
Tutorial | 0 Comentarios
Aviso Importante
Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.
Participar
Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.