arroba más más - Programación e Internet  arroba más más - Programación e Internet
Estás en: Inicio > Cursos > Entornos de desarrollo > El entorno Delphi > Curso básico de Delphi > - Etiquetas de texto
 
CAPÍTULOS

SECCIONES

SITIOS RECOMENDADOS

OTROS SITIOS DE LA AUTORA

En línea desde el 7 de noviembre de 2000

3.I. Etiquetas de texto: Label

En al paleta de componentes Standard tenemos un control representado por el botón El control Label de Delphi - paleta estándar cuyo nombre es Label. Mediante este control podremos mostrar un texto estático en el form, fijando su posición, color de letra, tamaño y, obviamente, el texto a mostrar.

Valores Iniciales

Al insertar un control Label en el form, mediante cualquiera de los métodos que vimos en los capítulos anteriores, algunas propiedades tomarán un valor inicial por defecto, que generalmente tendremos que modificar. Por ejemplo, la propiedad Name tomará el valor Label1, Label2,, etc., al igual que la propiedad Caption. Otras propiedades, como Left y Top, tomarán su valor dependiendo de la posición en la que situemos el control. Por último encontramos un tercer grupo de propiedades cuyo valor por defecto habitualmente no modificaremos, por ejemplo, la propiedad Visible de una etiqueta por regla general siempre será True, ya que de lo contrario el texto no sería visible.

Tras insertar la etiqueta, lo primero que tendremos que hacer es asignarle un nombre al control, para lo que modificaremos el valor de la propiedad Name mediante el Inspector de objetos.

El valor almacenado en la propiedad Caption será el texto que se mostrará en la etiqueta y que, inicialmente, coincide con el nombre del control, es decir, por defecto Name y Caption tienen el mismo valor. Al modificar el nombre de este control, el valor de Caption también se modificará automáticamente tomando el mismo valor, pero esto no volverá a ocurrir desde el momento en que manualmente asignemos un nuevo valor a Caption.

Posición, tamaño y alineación

La posición que inicialmente tenga un control en el form depende directamente del método que hayamos usado para insertarlo. Realizando un doble click con el ratón sobre el control, en la Paleta de componentes, la posición inicial será el centro de la form, pero también podemos pulsar el control y posteriormente "pinchar" en la posición del form donde queremos situarlo. También es posible mover posteriormente el control, "arratrándolo" sobre la superficie del form. La posición de un control en el form estará determinada por los valores de la propiedades Left y Top, que contienen las coordenadas horizontal y vertical, respectivamente, expresadas en puntos relativos a la posición de origen del form. Esto quiere decir que si Left tiene valor 0, el control estará pegado al margen izquierdo del form y, de forma similar, si el valor de Top es 0, el control estará en la parte superior del form.

El tamaño o dimensiones de un control se almacenan en las propiedades Width (ancho) y Height (alto), existiendo también unos valores por defecto. El valor de estas propiedades puede también ser modificado mediante el Inspector de objetos, introduciendo el número de puntos de ancho y alto que queremos que tenga el control, o bien visualmente, tomando uno de los márgenes del control con el cursor del ratón y estirándolo o encogiéndolo.

Cuando el contenido de una etiqueta de texto va a ser establecido durante el diseño, no hay problemas en fijar las dimensiones adecuadas, pero el caso es distinto cuando el texto a mostrar se va a fijar durante la ejecución; en este caso puede servirnos de ayuda la propiedad AutoSize, a la que dándole el valor True provocará que las dimensiones del control se ajusten con exactitud a su contenido, en este caso al texto. Otro método para controlar la posición y dimensiones de un control lo obtenemos a partir de la propiedad Align, que puede tomar los valores de la tabla que vemos a continuación. Según el valor asignado, el control se ajusta al margen correspondiente, incluso si posteriormente el form se redimensiona. La propiedad Align controla la alineación de un control en el contenedor en el que se encuentra. En este caso, el control, una etiqueta de texto, está en el interior de un form que actúa como contenedor.

ValorEl control se ajusta a...
alNoneConserva la posición y dimensiones originales
alTopMargen superior del contenedor
alBottomMargen inferior del contenedor
alLeftMargen izquierdo del contenedor
alRightMargen derecho del contenedor
alClientTodo el espacio disponible en el contenedor

En caso de que las dimensiones del control sean superiores a las necesarias para mostrar el texto asignado a Caption, éste puede aparecer alineado a la izquierda, derecha o bien centrado. Esta alineación dependerá del valor que se asigne a la propiedad Alignment, que habrá de ser:

ValorAjuste de texto
taLeftJustifyA la izquierda
taRightJustifyA la derecha
taCenterCentrado

Si la cantidad de texto a mostrar en la etiqueta hace necesaria la distribución en varias líneas, en lugar de utilizar varios controles Label, podemos dar el valor True a la propiedad WordWrap; así se consigue que el texto asignado a la propiedad Caption se divida en las líneas que sean necesarias, dependiendo de la anchura que hayamos dado al control.

En cualquier momento podemos obtener las coordenadas correspondientes a las cuatro esquinas de una etiqueta de texto, consultando el valor de la propiedad BoundRect. Esta propiedad es un registro del tipo TRect, conteniendo en su interior cuatro miembros: Left, Top, Right y Bottom, que almacenan la columna izquierda, la fila superior, la columna derecha y la fila inferior respectivamente.

Familia, Estilo y Tamaño de Letra

El texto de una etiqueta puede aparecer en pantalla usando cualquiera de las familias de letras de Windows, en cualquier tamaño y con los estilos que estén disponibles. Todas estas características de una etiqueta de texto se encuentran almacenadas en la propiedad Font, que es en realidad un objeto del tipo TFont. Como tal objeto, la propiedad Font tiene a su vez sus propias propiedades, eventos y métodos, que son los que nos permitirán modificar los atributos del texto.

Para establecer los atributos del texto durante el diseño, en realidad no tenemos por qué preocuparnos de las propiedades de Font, ya que bastará con pulsar los puntos suspensivos que aparecen a la derecha de esta propiedad elegir el tipo de letra, su tamaño, estilo y color. Estos valores serán pasados posteriormente, cuando pulsemos el botón OK, al objeto Font, mostrándose el nuevo aspecto de la etiqueta de texto.

Sin embargo, si queremos modificar los atributos del texto durante la ejecución del programa, tendremos que conocer las particularidades del tipo TFont.

El tipo de letra

Como sabemos, en Windows, a cada familia o tipo de letra se le conoce mediante un nombre, como puede ser Courier o Roman, por poner dos ejemplos. El tipo de letra de un objeto TFont se almacena en la propiedad Name, en forma de cadena de caracteres, por lo que si queremos que en el texto aparezca una cadena con el tipo Courier, lo único que debemos hacer es asignar a la propiedad Name una cadena con ese nombre.

Tamaño de letra

Con la propiedad Size facilitaremos el tamaño de letra asignando un número con el que especificaremos el tamaño en puntos de la propia letra, sin contar con el espacio adicional que es necesario para su visualización. El tamaño en puntos es el método más utilizado habitualmente, ya que es la técnica que emplean la mayoría de los programas de dibujo, diseño y procesadores de texto.

El contenido de la propiedad Height, por el contrario, se refiere a la altura del tipo de letra más el espacio adicional necesario para su visualización. Siempre que para fijar el tamaño de letra usemos la propiedad Size, el valor de Height será negativo y viceversa.

El estilo

Para conocer y modificar el estilo de lerta de un objeto TFont usaremos la propiedad Style, que es un conjunto que puede contener los siguientes valores:

ConstanteEstilo correspondiente
fsBoldNegrita
fsItalicCursiva Itálica
fsUnderlineSubrayada
fsStrikeOutTachada

Para poder determinar si una de estas constantes se encuentra o no en el conjunto tendremos que utilizar el operador Is.

Color del texto

También mediante la propiedad Font de la etiqueta de texto se podrá controlar el color con que éste aparecerá, gracias a la propiedad Color del tipo Font. Esta propiedad puede tomar cualquiera de los valores del tipo TColor.

ConstanteColor
clBlackNegro
clMaroonMarrón
clGreenVerde
clOliveVerde oscuro
clNavyAzul marino
clPurplePúrpura
clTealVerde agua
clGrayGris
clSilverGris claro
clRedRojo
clLimeVerde claro
clBlueAzul
clFuchsiaFucsia
cAquaAzul celeste
clWhiteBlanco

Anchura de carácter

Ciertas familias de letras son de espacio fijo, es decir, sus caracteres tienen todos el mismo ancho, mientras que otras son de espacio variable. Mediante la propiedad Pitch del tipo TFont, podemos asignar cualquiera de los valores mostrados en la siguiente tabla.

ConstanteTipo de espacio
fpDefaultEl usado por defecto por el tipo de letra
fpVariableDe anchura variable
fpFixedDe anchura fija

El color de fondo

Mediante la propiedad Color de la etiqueta de texto nosotros podemos seleccionar otro color distinto, sobre el que aparecerá dibujado el texto.

Al tener la etiqueta de texto un fondo opaco, ya sea del color del form o de cualquier otro que queramos fijar, cualquier control que quede bajo la extensión del texto no será visible, a no ser que demos el valor True a la propiedad Transparent.

Asociación a otros controles

Uno de los usos más frecuentes del control Label es el de servir de título para otros controles, como pueden ser campos de edición, listas, etc., que se caracterizan por no tener una propiedad Caption, a diferencia de un etiqueta de texto o de un botón.

Cuando utilicemos una etiqueta para esto, en el texto podemos incluir una tecla de acceso rápido, similar a la de los botones, de tal forma que al pulsarla se active el control asociado a la etiqueta.

Para hacer esto lo primero que tendremos en cuenta es el valor de la propiedad ShowAccelChar, que por defecto es True. Esto permite la inclusión en el texto y de otro control, que habrá de existir ya en el form. Si accedemos en el inspector de objetos a la propiedad FocusControl veremos que en la columna de valor aparece una lista, conteniendo los nombres de todos los controles que puedan ser activados.

Otras propiedades del control label

Es posible establecer etiquetas de ayuda a las etiquetas de texto, al igual que a la mayoría de los componentes Delphi. Para ello lo primero que tendremos que hacer será dar el valor True a la propiedad ShowHint, activando así la visualización de la etiqueta de ayuda, cuyo texto introduciremos en la propiedad Hint.

La visualización de la etiqueta de ayuda también se llevará a cabo si el valor de la propiedad ParentShowHint es True y la propiedad ShowHint del componente en el que se haya incluida la etiqueta tiene el mismo valor.

Una etiqueta de texto puede ser visible o no visible, y estar o no activa. Estos estado dependen de los valores que asignemos a las propiedades Visible y Enabled, respectivamente, que pueden ser True o False.

Mediante la propiedad Cursor podemos fijar la apariencia que tomará el cursor del ratón al desplazarlo sobre la etiqueta de texto. Esta prpiedad puede tener uno de estos valores:

ConstanteForma del cursor
crDefaultLa que tenga actualmente
crArrowEl puntero habitual en forma de flecha inclinada
crCrossUna cruz
crBeamEl cursor de texto
crSizeCuatro flechas unidas indicando reposicionamiento
crSizeNESWFlecha doble indicando cambio de tamaño
crSizeNSFlecha doble indicando cambio de tamaño
crSizeNWSEFlecha doble indicando cambio de tamaño
csSizeWeFlecha doble indicando cambio de tamaño
crUpArrowFlecha vertical con la punta hacia arriba
crHourglassReloj de arena
crDragFlecha con documento indicando arratrar y soltar
crNoDropSeñal de prohibido
crHSplitDoble flecha horizontal
crVSplitDoble flecha vertical

Al igual que la mayoría de los componentes Delphi, las etiquetas de texto cuentan también con la propiedad Tag, que podemos usar para almacenar cualquier dato asociado al control.

Mediante la propiedad ComponentIndex que tienen todos los componentes, por lo tanto también las etiquetas de texto, podremos conocer el índice de un determinado control en una matriz.

Métodos de label

Una etiqueta de texto además de con propiedades, también cuenta con métodos, que son procedimientos y funciones.

Dos de estos métodos son BringToFront y SendToBack, que nos permiten alterar el orden de profundidad del control en el form, haciendo que aparezca por encima o por debajo de los demás respectivamente.

Para ocultar un control o mostrarlo podemos usar métodos Show y Hide, respectivamente, que al igual que los anteriores no necesitan parámetro alguno. Una llamada al método Show equivale a darle el valor True a la propiedad Visible, mientras que la llamada a Hide sería equivalente a asignar el valor False.

Anteriormente hemos visto las propiedades que nos permiten modificar durante la ejecución la posición y dimensiones de un control. En caso de que necesitemos modificar varias de estas propiedades podemos usar el método SetBounds, que nos permite realizar las modificaciones en un solo paso. Al llamar a este método pasaremos cuatro parámetros, especificando los valores correspondientes a las propiedades Left,Top,Width y Height.

Autor: Lola Cárdenas Luque
Última actualización: 24 de junio de 2001
- Métodos de TForm | - El control Edit
Copyright © 2000 - 2005, Lola Cárdenas Luque - Todos los derechos reservados