Shell   23-01-2023, 00:51
#1
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
Última modificación: 23-01-2023, 00:53 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   23-01-2023, 08:50
#2
Gambas está lleno de cositas de estas que pasan desapercibidas por la falta de documentación. Una pena.

Saludos

No podemos regresar
tercoide   23-01-2023, 14:56
#3
es genial eso, lo desconocia completamente

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
Shell   23-01-2023, 17:36
#4
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

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.