Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Label en Gambas
#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!.

GAMBAS
  1. Public Sub Form_Open()
  2.  
  3.   Dim temptiqueta As Label
  4.  
  5.   Me.Title = "Etiquetas en Gambas"
  6.   With Me
  7.     .Width = 400
  8.     .H = 400
  9.     .Arrangement = Arrange.Vertical
  10.  
  11.   For j = 0 To 3
  12.     temptiqueta = New Label(Me)
  13.     With temptiqueta
  14.       .Font = Font["Arial, 18, bold"]
  15.       .Expand = True
  16.       'Ancho del borde de la etiqueta
  17.       .BorderWidth = 12
  18.       'Color del borde de la etiqueta
  19.       .BorderColor = Color.RGB(Rand(0, 255), Rand(0, 255), Rand(0, 255))
  20.       'Curvatura del borde, si lo quereís cuadrado, ponerlo a cero
  21.       .BorderRadius = 64
  22.       .Border = Border.Plain
  23.       .Alignment = Align.Center
  24.       .Text = "GAMBAS IS A GOOD OPTION!"
  25.     End With
  26.   Next
  27.  



¿ Lo sabíais ?.

Saludos

"El buen perfume en frasco pequeño se vende"
[-] Los siguientes 3 usuarios dicen gracias a Shell por este post:
  • cogier, Shordi, tercoide
    ¡Gracias!
#2

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

Saludos

No podemos regresar
    ¡Gracias!
#3

es genial eso, lo desconocia completamente

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
    ¡Gracias!
#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]

GAMBAS
  1.  
  2. ...
  3.  With temptiqueta
  4.       .Font = Font["Arial, 18, bold"]
  5.       .Expand = True
  6.       'Ancho del borde de la etiqueta
  7.       .BorderWidth = 25
  8.       'Color del borde de la etiqueta
  9.       .BorderColor = Color.RGB(Rand(0, 255), Rand(0, 255), Rand(0, 255))
  10.       'Curvatura del borde, si lo quereís cuadrado, ponerlo a cero
  11.       .BorderRadius = 25
  12.       .Background = .BorderColor
  13.       'Para que el color de fondo de la etiqueta sea el del borde
  14.       .Border = Border.Plain
  15.       .Alignment = Align.Center
  16.       .Text = "GAMBAS IS A GOOD OPTION!"
  17.       .Foreground = Color.Black
  18.     End With
  19. ...



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 buen perfume en frasco pequeño se vende"
[-] Los siguientes 2 usuarios dicen gracias a Shell por este post:
  • guizans, Shordi
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)