Customizar texto 2 o 3 veces dentro del mismo label?

Iniciado por z3nth10n, 4 Julio 2013, 21:18 PM

0 Miembros y 1 Visitante están viendo este tema.

z3nth10n

Hola buenas, pues estoy intentando algo tal que así:

CitarHola soy el label más guapo del mundo.

:laugh:

Se podría hacer sin WPF ni polladas de esas?
Gracias de antemano.

Un saludo.
PD: Por si os sirve, solo voy a personalizar las variables no los textos... O quizas los textos también, no lo sé.




EDITO: No es posible con un Windows Form >:( ya me lo han confirmado por StackOverFlow :silbar:

Interesados hablad por Discord.

Eleкtro

Cita de: Ikillnukes en  4 Julio 2013, 21:18 PMEDITO: No es posible con un Windows Form >:( ya me lo han confirmado por StackOverFlow :silbar:

Si que es posible, pero no pinta nada fácil.

Puedes tranformar parte del label a un bitmap, luego modificas el color del bitmap, y luego dibujas ese bitmap en las coordenadas equivalentes.

No se me ocurre otra manera.

Hay muchas cosas parecidas en google... -> http://www.codeproject.com/Articles/5133/Flood-Fill-Algorithms-in-C-and-GDI

Como ya digo... esto fácil no es.

Saludos








Eleкtro

Código (vbnet) [Seleccionar]
Public Class Form1

    Dim bmp As New Bitmap("c:\1.png")

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Blanco a Rojo
        ' IMPORTANTE: Utilizar colores ARGB en el primer color
        PictureBox1.BackgroundImage = Fill_Bitmap_Color(bmp, Color.FromArgb(255, 255, 255, 255), Color.Red)
    End Sub

    Private Function Fill_Bitmap_Color(ByVal Image As Bitmap, ByVal FromColor As Color, ByVal ToColor As Color)

        Dim bmp As New Bitmap(Image)

        Dim x As Integer = 0, y As Integer = 0

        While x < bmp.Width
            y = 0
            While y < bmp.Height
                If Image.GetPixel(x, y) = FromColor Then bmp.SetPixel(x, y, ToColor)
                Math.Max(Threading.Interlocked.Increment(y), y - 1)
            End While
            Math.Max(Threading.Interlocked.Increment(x), x - 1)
        End While

        Return bmp

    End Function

End Class


Ale, ya tienes media parte hecha ;)








z3nth10n

Más sencillo, ayer ya me dieron la solución empezaron diciendo que no, pero luego vino un Pro y lo hizo con un RichTextBox, voy a mejorar el Snippet y lo mando :silbar:

Interesados hablad por Discord.

Eleкtro

Cita de: Ikillnukes en  5 Julio 2013, 11:34 AMayer ya me dieron la solución

Esa solución es una piltrafada, a menos que sigas codeando el usercontrol para evitar que se muestre el cursor de texto y que no se le pueda clickar al RichTextBox, y también que no se aprecién las "selecciones" cuando seleccionas una parte de texto.

Saludos








z3nth10n

Pero si estamos imitando un Label pa que queremos seleccionar texto :laugh:

Interesados hablad por Discord.

Eleкtro

#6
Cita de: EleKtro H@cker en  5 Julio 2013, 12:18 PM
Esa solución es una piltrafada, a menos que ...
y también que no se aprecién las "selecciones" cuando seleccionas una parte de texto.

Cita de: Ikillnukes en  5 Julio 2013, 12:37 PMPero si estamos imitando un Label pa que queremos seleccionar texto :laugh:

Vamos a ver, Ikillnukes, ¿Sabes lo que es un RichTextbox?, bueno, pues para empezar...no es una etiqueta.

Intenta por entender estas dos líneas de tu snippet:

Citar
Código (vbnet) [Seleccionar]
       rtb.SelectionStart = index
       rtb.SelectionLength = rtb.TextLength - index



Como ves se muestra la selección del texto.

EDITO: ¿Solución?, seleccionar "0" y con longitud "0", o seleccionar el límite del texto, o diréctamente desactivar el control.

Saludos








z3nth10n

Citaro diréctamente desactivar el control.

Entonces es por eso por lo que uso ReadOnly. :P

Interesados hablad por Discord.

Eleкtro

#8
Cita de: Ikillnukes en  5 Julio 2013, 13:30 PMEntonces es por eso por lo que uso ReadOnly. :P

Eso no lo soluciona para nada, por algo te lo digo, el texto sigue seleccionado si no lo deseleccionas, pero bueno, si quieres tener la razón, te la doy.

Saludos








z3nth10n

#9
No no, pa eso uso tu code. xD

En fin... Por cierto, ya cerrando el tema has visto mi StackOverFlow de la de repu que me llevé ayer? :silbar:
xD Que bueno es saber CSS y HTML y un poco de PHP. Es la ostia los noobs que son algunos. xD Si quieres metete al Skype y charlamos.




Vale ya se a lo que te refieres, el problema es que si lo disableo no puedo cambiar el Backcolor... :silbar:

Interesados hablad por Discord.