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

TextLabel. Letras y colores
#1

Buenas!.

En este ejemplo se pretende que cada letra se imprima en un color.
Ahora que me fijo no era exactamente lo que quería, es el fondo lo que quiero cambiar, pero de cada letra.

[Imagen: CBxqzjv.png]

GAMBAS
  1. Private Const encabezado As String = "h2"
  2.  
  3. Public Sub Form_Open()
  4.  
  5.   Dim suncolor As String
  6.   Dim spalabra As String  
  7.   Dim i, j As Integer
  8.  
  9.  
  10.   'Párrafo es esdrújula. Problema de código de página al mostrar con tilde.  
  11.   'spalabra = "Muestra letras cada una de un color en un solo párrafo"  
  12.   spalabra = "Muestra letras cada una de un color en un solo parrafo"
  13.  
  14.   'TextLabel1.Text = "<" & encabezado & "><meta charset=" & Quote("utf-8") & "/>"
  15.  
  16.   TextLabel1.Text = "<" & encabezado & ">"
  17.     
  18.   For j = 0 To String.Len(spalabra)
  19.     suncolor = "#"
  20.     For i = 1 To 3      
  21.       'Color al azar sin tener en cuenta el fondo y que pueda no verse
  22.       'TODO: Generar y comprobar antes
  23.       'Concatenar números en hexadécimal con dos digitos en una variable de cadena
  24.       suncolor &= CString(Hex(Rnd(0, 255), 2))
  25.     Next   
  26.     'Concatena texto tantas veces como letras tenga la palabra    
  27.     TextLabel1.Text &= "<span style=" & "color:" & suncolor & ">" & spalabra[j] & "</span>"   
  28.   Next   
  29.   TextLabel1.Text &= "</" & encabezado & ">"
  30.  



Quizás podía haber usado un gridview. Smile
Ah, no pude mostrar su tilde correspondiente en párrafo.

Saludos

Es sustituir prácticamente esto:

GAMBAS
  1. TextLabel1.Text &= "<span style=" & "color:" & suncolor & ">" & spalabra[j] & "</span>"


Por:
GAMBAS
  1. TextLabel1.Text &= "<span style=" & "background-color:" & suncolor & ">" & spalabra[j] & "</span>"



"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#2

He añadido una segunda TextLabel para que en la primera cambie el color de las letras y en la segunda cambie solo el fondo.
Ahora son dos TextLabel en un formulario.

¿ El formulario no debería ajustarse al tamaño de las TextLabel en caso de que su propiedad AutoResize este a True ?.
He puesto su propiedad Arrangement a vertical. Lo cierto es que la etiqueta queda de esta forma al ejecutarse:

Ambas etiquetas tienen su propiedad expand a True.

[Imagen: HU0lFVV.png]

Subo el código fuente.

Saludos


Archivos adjuntos
.gz TextoConColor-0.0.1.tar.gz Tamaño: 12.35 KB  Descargas: 2

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#3

En principio, si es la ventana principal, creo que no. Si lo embebes en otro contenedor, sí (hablo de memoria).

Saludos

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • Shell
    ¡Gracias!


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

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)