Comunidad Gambas-es
Label en Gambas - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: Label en Gambas (/thread-1187.html)



Label en Gambas - Shell - 23-01-2023

Buenas!.

Como estoy aprendiendo un poco de la librería Tkinter en Python para crear Interfaces, observé que las cajas de entradas son distintas a las de Gamba.
Resulta que las etiquetas de Gambas tienen propiedades similares a las cajas de texto de la librería Tkinter. Os lo muestro.
Estas son las etiquetas en Gambas. A algunos les va a sorprender.

Etiquetas con bordes, ancho de estos y radio de la misma, coloreadas.
Comencemos con bordes cuadrados.

[Imagen: VPLRezQ.png]

Ahora usemos bordes redondeados.

[Imagen: oNpNSi8.png]

Eso lo hace Gambas.

Os muestro un código que hace ese efecto. Debéis usar el borde plano, ojo!.

Código:
Public Sub Form_Open()

  Dim temptiqueta As Label
  Dim j As Integer

  Me.Title = "Etiquetas en Gambas"
  With Me
    .Width = 400
    .H = 400
    .Arrangement = Arrange.Vertical
  End With

  For j = 0 To 3
    temptiqueta = New Label(Me)
    With temptiqueta
      .Font = Font["Arial, 18, bold"]
      .Expand = True
      'Ancho del borde de la etiqueta
      .BorderWidth = 12
      'Color del borde de la etiqueta
      .BorderColor = Color.RGB(Rand(0, 255), Rand(0, 255), Rand(0, 255))
      'Curvatura del borde, si lo quereís cuadrado, ponerlo a cero
      .BorderRadius = 64
      .Border = Border.Plain
      .Alignment = Align.Center
      .Text = "GAMBAS IS A GOOD OPTION!"
    End With
  Next

End

¿ Lo sabíais ?.

Saludos


RE: Label en Gambas - Shordi - 23-01-2023

Gambas está lleno de cositas de estas que pasan desapercibidas por la falta de documentación. Una pena.

Saludos


RE: Label en Gambas - tercoide - 23-01-2023

es genial eso, lo desconocia completamente


RE: Label en Gambas - Shell - 23-01-2023

Podemos ademas añadir un fondo a la etiqueta:
En este caso distinto.

[Imagen: Ll124uy.png]

En este caso el color del borde es el mismo que el de fondo.

[Imagen: lR6f73C.png]

Código:
 
...
 With temptiqueta
      .Font = Font["Arial, 18, bold"]
      .Expand = True
      'Ancho del borde de la etiqueta
      .BorderWidth = 25
      'Color del borde de la etiqueta
      .BorderColor = Color.RGB(Rand(0, 255), Rand(0, 255), Rand(0, 255))
      'Curvatura del borde, si lo quereís cuadrado, ponerlo a cero
      .BorderRadius = 25
      .Background = .BorderColor
      'Para que el color de fondo de la etiqueta sea el del borde
      .Border = Border.Plain
      .Alignment = Align.Center
      .Text = "GAMBAS IS A GOOD OPTION!"
      .Foreground = Color.Black
    End With
...

Algo que se debe tener en cuenta es jugar con el valor que se usa entre en  BorderWith y el BordeRadius.
Ya que según pones valores distintos, el efecto del BorderRadius puede verse como si apareciera una línea
curva, como parte de una división.

Y visto eso, ojala se pudiera hacer lo mismo con un botón. Tener en cuenta que el componente Label se modificó "entero"
desde la versión 3.16

Para crear algo así habría que dominar un poco el dibujo y partiendo del DrawingArea crear un control.
Futuro proyecto "un botón a gusto del consumidor". Partiendo de como funciona la etiqueta seguro que se puede hacer algo. Rolleyes

Saludos