ProgramasVb6
  Label
 

Descripción

El control Label o Etiqueta es un simple control que se utiliza para mostrar texto, descripciones, información para el programa.

Vista previa de un control Label o etiqueta de Visual Basic

 


Propiedades

 

Propiedad Caption

La propiedad Caption es la mas importante, y es la que se utiliza para establecer el texto que mostrará el control Label. Por ejemplo para mostrar el texto "Hola" agrega un label al formulario, coloca un Botón, hacé doble click en el mismo, escribe Label1 y presiona el ".", Visual Basic te desplegará la lista de propiedades y métodos del Label1.

 

Lista de propiedades, métodos y eventos de un control u objeto de Visual Basic

 

Una vez colocada la propiedad Caption, se asigna el texto que va a mostrar de esta manera, por ejemplo para mostrar la palabra "Hola" en el control:

 

  1. Label1.Caption = "Hola"  

 

Este fragmento de código, visualiza la hora actual, asignando a la propiedad Caption (dentro de un Timer), el valor devuelto por la función Now de vb.

Colocar un control Timer y un Label

  1. Option Explicit  
  2.   
  3. Private Sub Form_Load()  
  4.       
  5.     '  -- Configurar Timer  
  6.     With Timer1  
  7.         .Interval = 1000 ' -- 1 segundo  
  8.         .Enabled = True  
  9.     End With  
  10.       
  11.     With Label1  
  12.         .Caption = ""  
  13.         .Width = 2000  
  14.     End With  
  15.       
  16. End Sub  
  17.   
  18. Private Sub Timer1_Timer()  
  19.     Label1.Caption = Now  
  20. End Sub  

 

 

Propiedad Autosize

Si la propiedad Autosize del control se encuentra en True, las dimensiones del Label (ancho y alto) se ajustarán al largo y alto del texto que muestre. En cambio si se encuentra en False el ancho y alto del control será el que esté establecido en la propiedad Height y Width sin importar la longitud del texto.

 

Propiedad Aligment

Esta propiedad posee 3 valores. Si le establecemos el valor 0 el texto se alineará a la izquierda, si tiene el valor 1 se alineará a la derecha y si está con el valor 2, el texto se muestra en forma centrada, como muestra la imagen:

 

Vista previa de un label con la propiedad Alignment con sus 3 valores posibles

 

Otras propiedades del control son :

 

  • Visible : Si está en True el control está visible si está en False está oculto
  • Backcolor : Determina el color del fondo de la etiqueta. Si la propiedad BackStyle está en transparente esta propiedad no se visualiza, es decir el color no se muestra
  • BackStyle: Determina si el fondo es transparente (valor 0) o si es opaco (Valor 1).
  • Name: es el nombre del control y sirve para hacer referencia al mismo en el código, como todos los controles
  • BorderStyle: determina si se muestra con borde o sin borde
  • Enabled: Si está en True (Verdadero) el control está activado y se puede utilizar normalmente, si se encuentra en False, el control está desactivado.
  • FontName: El nombre de la fuente que utilizará el texto del control. Podemos elegir las que tengamos instaladas en el sistema
  • Forecolor: Valor Hexadecimal o valor Rgb que indica el color del Texto
  • Height y Width: Ancho y alto del Label
  • ToolTipText: muestra el mensaje de descripción cuando pasamos el mouse por encima del control.

 

Ejemplo para cambiar propiedades en tiempo de ejecución

Colocar 5 Command Button en un formulario: Command1, Command2, Command3, Command4 y Command5, y un control Label1 como está en la imagen:

Ejemplo simple de como cambiar algunos aspectos principales de un Label control

 

Este básico ejemplo lo que hace es cambiar algunas propiedades de este control.

El Command1 que cambia el texto del Label, lo que hace es mostrar un InputBox que es una caja o cuadro de diálogo para ingresar un texto. Ese texto lo almacenamos en una variable y luego lo mostramos en el Label

El Command2 que cambia el Estilo del borde, es decir la propiedad BorderStyle, cuando se presiona, si el control Label tiene la propiedad BorderStyle en 0, lo pone con el valor 1, si está con el valor 1 lo establece en 0, es decir lo contrario.

El Command3 que activa y desactiva el control, lo que hace es cambiar el valor de la propiedad Enabled del Label. Cuando lo presionamos se ejecuta esta línea:

Label1.Enabled = Not Label1.Enabled

El operador Not lo que hace en este caso es cambiar el valor de la propiedad Enabled a su valor contrario. Es decir, si el valor de enabled está en True (Habilitado) Not Label1.Enabled lo que hace es deshabilitarlo, si está deshabilitado (False) el operador Not lo cambia a True, y el Label queda Habilitado. Esto se puede hacer con una claúsula If Then pero esta manera es mas simple.

El Command4 es igual que el Command1, por medio de un InputBox se pide que ingrese un texto, y se cambia el valor de la propiedad ToolTipText, que es la propiedad que muestra información de un objeto mediante un rectángulo amarillo cuando pasamos el mouse por encima, como los tipicos controles de windows de cualquier aplicación.

El Command5 es igual que el Command3, utiliza el operador Not para establecerle la propiedad Visible. Si el Label está Visible (True), se cambia a False (se oculta), si está en False se pone en True

 

Código fuente dentro del formulario

  1. Option Explicit  
  2.   
  3. '  -- Caption  
  4. Private Sub Command1_Click()  
  5.     Dim texto As String  
  6.   
  7.     texto = InputBox("Escriba el texto a mostrar en el Label""Ejemplo")  
  8.   
  9.     ' -- Acá se asigna la variable texto en el Label  
  10.     Label1.Caption = texto  
  11.   
  12. End Sub  
  13.   
  14. '  -- BorderStyle  
  15. Private Sub Command2_Click()  
  16.     'Si actualmente tiene el valor 0 entonces la colocamos a 1  
  17.     If Label1.BorderStyle = 0 Then  
  18.         Label1.BorderStyle = 1  
  19.     'Si tiene el valor 1 lo ponemos a 0  
  20.     Else  
  21.         Label1.BorderStyle = 0  
  22.     End If  
  23. End Sub  
  24.   
  25.   
  26. '  -- Enabled  
  27. Private Sub Command3_Click()  
  28.   
  29.     ' -- Si la propiedad Enaled está en True se pone False,  
  30.     ' -- si está en False se pone en TRue  
  31.     Label1.Enabled = Not Label1.Enabled  
  32.   
  33. End Sub  
  34.   
  35.   
  36. '  -- Tooltiptext  
  37. Private Sub Command4_Click()  
  38. Dim texto As String  
  39. texto = InputBox("Escribi el texto que mostrará la propiedad" _  
  40.                                    & "ToolTipText""Ejemplo")  
  41.   
  42.     ' -- Le asignamos el valor de la variable Texto al Label  
  43.     Label1.ToolTipText = texto  
  44.   
  45.     ' -- Mostramos un mensaje para indicar que pase el mouse por  
  46.     ' -- encima del control Label1  
  47.   
  48.     MsgBox "Pasá el mouse por encima del Label"  
  49.   
  50. End Sub  
  51.   
  52. '  -- Visible  
  53. Private Sub Command5_Click()  
  54.   
  55.     ' -- Si el Label está visible entonces lo ocultamos,  
  56.     ' -- si está oculto lo mostramos  
  57.     Label1.Visible = Not Label1.Visible  
  58.   
  59. End Sub  
  60.   
  61.   
  62. Private Sub Form_Load()  
  63.     Command1.Caption = "Cambiar texto"  
  64.     Command2.Caption = "Cambiar borde"  
  65.     Command3.Caption = "Enabled"  
  66.     Command4.Caption = "ToolTipText"  
  67.     Command5.Caption = "Enabled"  
  68. End Sub  

 

 

 


Eventos del control Label:

 

  • Evento Click: Se produce al hacer un click
  • Evento DblClick: Se produce al hacer doble click
  • evento MouseDown: Se produce al presionar el ratón cuando el mouse está abajo
  • Evento MouseMove: se produce al mover el cursor en el área del control
  • Evento MouseUp: Se produce al hacer un Click justo después de soltar el botón del mouse
  • Evento Change: Se produce cuando cambia la propiedad Caption del control. Este evento puede utilizarce para validar algún cambio

 

Ejemplo utilizando el evento MouseMove

Lo siguiente, muestra como simular un enlace, como el de una página web, de una forma sencilla

Al pasar el mouse por encima del Label, se cambian las propiedaes, es decir el color del texto y la propiedad FontUnderline en True para subrayar. Luego en el MouseMove del Formulario, se reestablece.

vista del ejemplo para utilizar el evento MouseMove

 

Código fuente

  1. Option Explicit  
  2.   
  3. Private Sub Form_Load()  
  4.       
  5.     With Label1  
  6.         ' -- Estilo transparente  
  7.         .BackStyle = 0  
  8.         ' -- Ajustar el control al texto  
  9.         .AutoSize = True  
  10.         ' --  Asignamos un texto para la dirección url  
  11.         .Caption = " http://www.google.com "  
  12.     End With  
  13. End Sub  
  14.   
  15. Private Sub Form_MouseMove( _  
  16.     Button As Integer, _  
  17.     Shift As Integer, _  
  18.     X As Single, Y As Single)  
  19.      
  20.    With Label1  
  21.         If .FontUnderline Then  
  22.             ' -- Color de la fuente del Label en negro  
  23.             .ForeColor = vbBlack  
  24.      
  25.             ' Quitamos el Subrayamos al Label  
  26.             .FontUnderline = False  
  27.         End If  
  28.     End With  
  29.       
  30. End Sub  
  31.   
  32.   
  33. Private Sub Label1_MouseMove( _  
  34.     Button As Integer, _  
  35.     Shift As Integer, _  
  36.     X As Single, Y As Single)  
  37.       
  38.    With Label1  
  39.         If Not .FontUnderline Then  
  40.             ' --  Color Azul como el de los enlaces clásicos  
  41.             .ForeColor = QBColor(9)  
  42.      
  43.             ' -- Subrayamos el Label  
  44.             .FontUnderline = True  
  45.         End If  
  46.    End With  
  47. End Sub  

 

 

 


Recorrer los labels del formulario con un bucle For Each next

Si en algún momento se desea poder recorrer todos los controles label que se encuentren en el formulario, por ejemplo para consultar el valor de propiedades o para modificarlas y no tener que hacerlo uno por uno, podés utilizar un bucle For Each y mediante el operador TypeOf de vb comprobar si es un Label

Este simple ejemplo muestra como recorrer todos los objetos del form actual, y si es de tipo Label, le establece un color aleatorio utilizando la función RND y la función RGB de Visual basic. Por supuesto en el bucle podés probar cambiar otras propiedades que quieras. Esto también es muy útil para deshabilitar y habilitar, o hacer visible o no visible controles del programa utilizando un simple bucle.

Colocar varios controles en el formulario, y también varios controles Label, por ejemplo 4 o 5

Colocar también un botón para poder ejecutar el código del bucle

Pegar el siguiente fragmento de código en el form principal

  1. Option Explicit  
  2.   
  3. Private Sub Command1_Click()  
  4.       
  5.     Dim xLabel As Control  
  6.     ' -- Recorrer controles coon un bucle  
  7.     For Each xLabel In Me.Controls  
  8.         ' -- Comprobar que el control actual es de clase Label  
  9.         If TypeOf xLabel Is Label Then  
  10.             ' - Si lo es, cambiar la propiedad ForeColor  
  11.             xLabel.ForeColor = RGB(CInt(Rnd * 255), CInt(Rnd * 255), CInt(Rnd * 255))  
  12.         End If  
  13.     Next  
  14.       
  15. End Sub  
  16.   
  17. Private Sub Form_Load()  
  18.     Command1.Caption = "Cambiar color"  
  19. End Sub  

 

 


Texto con sombra usando dos controles Label

 

Esto es muy simple y no requiere de código , solo colocar dos controles Label superpuestos, y el que esté debajo de color negro, como muestra el gráfico:

vista del formulario con los controles para hacer el texto con efecto de sombra

Nota: desde opciones > menú Herramientas, puedes especificar los valores para la cuadrícula del formulario, por defecto son 120 twips, colocando un valor mas bajo, tendrás mas precición para colocar el control Label al arrastrarlo en el formualrio.


Simple botón

Este senciilo ejemplo muestra una forma de poder crear un botón utilizando dos controles label en un array de controles uno encima del otro. Y en el evento MouseDown , se oculta uno, y se visualiza el que está por debajo, y luego se vuelve a visualizar el otro en el evento mouseUp

 

 
  ProgramasVb Copyright. 2011-2012 All Right Reserved  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis