Cambiar de estilo en richtextbox

21/04/2005 - 12:23 por José Carretero García | Informe spam
Necesito cambiar el estilo de un Richtextbox y no lo consigo. Lo realizo
mediante el siguietne codigo, que es lo que está mal o como deberia de
usarlo.

Gracias por la ayuda

FormateaTexto(RTxt_Previo, TextoEscribir, False, True) => Esta funcion la
uso para cambiar el texto que quiero

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False, Optional
ByVal Subrayado As Boolean = False)

Componente.Find(TextoACambiar)

Dim currentFont As System.Drawing.Font = Componente.SelectionFont

Dim newFontStyle As System.Drawing.FontStyle

If Negrita Then

newFontStyle = FontStyle.Bold

Else

newFontStyle = FontStyle.Regular

End If

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

End Sub

Preguntas similare

Leer las respuestas

#1 Pep
21/04/2005 - 13:19 | Informe spam
Hola José,
Te enfrentas a variaas dificultades,
En tu codigo estas sobreescribiendo las operaciones de subrrayado y bold,
por lo que cuando las dos sean 'true' solo veras el efecto de la ultima .. o
sea subrrayado.

Luego a la llamada FormateoTexto le pasas un Rtbox llamandolo componente,
debes recordar que al finalizar con 'componente' deberias retornar este
objeto al richtextbox, para que este reflejara los cambios efectuados en el
'componente', estaria mejor usar una funcion que devolviera directamente un
Rtbox.
mirate esto y luego adaptado a lo que necesitas :

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False, Optional
ByVal Subrayado As Boolean = False)
Dim posicion As Integer = Componente.Find(TextoACambiar)
Dim currentFont As System.Drawing.Font = Componente.SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
Componente.Select(posicion, Len(TextoACambiar))
newFontStyle = FontStyle.Bold
Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle) '
Me.RichTextBox1 = Componente
End Sub

No dudes en replicar si necesitas algo mas.
Pep,


"José Carretero García" escribió:

Necesito cambiar el estilo de un Richtextbox y no lo consigo. Lo realizo
mediante el siguietne codigo, que es lo que está mal o como deberia de
usarlo.

Gracias por la ayuda

FormateaTexto(RTxt_Previo, TextoEscribir, False, True) => Esta funcion la
uso para cambiar el texto que quiero

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False, Optional
ByVal Subrayado As Boolean = False)

Componente.Find(TextoACambiar)

Dim currentFont As System.Drawing.Font = Componente.SelectionFont

Dim newFontStyle As System.Drawing.FontStyle

If Negrita Then

newFontStyle = FontStyle.Bold

Else

newFontStyle = FontStyle.Regular

End If

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

End Sub





Respuesta Responder a este mensaje
#2 José Carretero García
21/04/2005 - 13:30 | Informe spam
Gracias, he puesto esto y sigue sin funcionar:

RTxt_Previo = FormateaTexto(RTxt_Previo, TextoEscribir, False, True)

Private Function FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False, Optional
ByVal Subrayado As Boolean = False) As RichTextBox

Dim posicion As Integer = Componente.Find(TextoACambiar)

Dim currentFont As System.Drawing.Font = Componente.SelectionFont

Dim newFontStyle As System.Drawing.FontStyle

Componente.Select(posicion, Len(TextoACambiar))

newFontStyle = FontStyle.Underline

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

Return Componente

End Function



"Pep" escribió en el mensaje
news:
Hola José,
Te enfrentas a variaas dificultades,
En tu codigo estas sobreescribiendo las operaciones de subrrayado y bold,
por lo que cuando las dos sean 'true' solo veras el efecto de la ultima ..
o
sea subrrayado.

Luego a la llamada FormateoTexto le pasas un Rtbox llamandolo componente,
debes recordar que al finalizar con 'componente' deberias retornar este
objeto al richtextbox, para que este reflejara los cambios efectuados en
el
'componente', estaria mejor usar una funcion que devolviera directamente
un
Rtbox.
mirate esto y luego adaptado a lo que necesitas :

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
Optional
ByVal Subrayado As Boolean = False)
Dim posicion As Integer = Componente.Find(TextoACambiar)
Dim currentFont As System.Drawing.Font = Componente.SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
Componente.Select(posicion, Len(TextoACambiar))
newFontStyle = FontStyle.Bold
Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle) '
Me.RichTextBox1 = Componente
End Sub

No dudes en replicar si necesitas algo mas.
Pep,


"José Carretero García" escribió:

Necesito cambiar el estilo de un Richtextbox y no lo consigo. Lo realizo
mediante el siguietne codigo, que es lo que está mal o como deberia de
usarlo.

Gracias por la ayuda

FormateaTexto(RTxt_Previo, TextoEscribir, False, True) => Esta funcion la
uso para cambiar el texto que quiero

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
Optional
ByVal Subrayado As Boolean = False)

Componente.Find(TextoACambiar)

Dim currentFont As System.Drawing.Font = Componente.SelectionFont

Dim newFontStyle As System.Drawing.FontStyle

If Negrita Then

newFontStyle = FontStyle.Bold

Else

newFontStyle = FontStyle.Regular

End If

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

End Sub





Respuesta Responder a este mensaje
#3 José Carretero García
21/04/2005 - 13:37 | Informe spam
Puede tener algo que ver el que yo añada el texto de la siguiente forma:
RTxt_Previo.Text = RTxt_Previo.Text & TextoLinea & Chr(13) & Chr(13)



"José Carretero García" escribió en el mensaje
news:
Gracias, he puesto esto y sigue sin funcionar:

RTxt_Previo = FormateaTexto(RTxt_Previo, TextoEscribir, False, True)

Private Function FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
Optional ByVal Subrayado As Boolean = False) As RichTextBox

Dim posicion As Integer = Componente.Find(TextoACambiar)

Dim currentFont As System.Drawing.Font = Componente.SelectionFont

Dim newFontStyle As System.Drawing.FontStyle

Componente.Select(posicion, Len(TextoACambiar))

newFontStyle = FontStyle.Underline

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

Return Componente

End Function



"Pep" escribió en el mensaje
news:
Hola José,
Te enfrentas a variaas dificultades,
En tu codigo estas sobreescribiendo las operaciones de subrrayado y bold,
por lo que cuando las dos sean 'true' solo veras el efecto de la ultima
.. o
sea subrrayado.

Luego a la llamada FormateoTexto le pasas un Rtbox llamandolo componente,
debes recordar que al finalizar con 'componente' deberias retornar este
objeto al richtextbox, para que este reflejara los cambios efectuados en
el
'componente', estaria mejor usar una funcion que devolviera directamente
un
Rtbox.
mirate esto y luego adaptado a lo que necesitas :

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
Optional
ByVal Subrayado As Boolean = False)
Dim posicion As Integer = Componente.Find(TextoACambiar)
Dim currentFont As System.Drawing.Font = Componente.SelectionFont
Dim newFontStyle As System.Drawing.FontStyle
Componente.Select(posicion, Len(TextoACambiar))
newFontStyle = FontStyle.Bold
Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle) '
Me.RichTextBox1 = Componente
End Sub

No dudes en replicar si necesitas algo mas.
Pep,


"José Carretero García" escribió:

Necesito cambiar el estilo de un Richtextbox y no lo consigo. Lo realizo
mediante el siguietne codigo, que es lo que está mal o como deberia de
usarlo.

Gracias por la ayuda

FormateaTexto(RTxt_Previo, TextoEscribir, False, True) => Esta funcion
la
uso para cambiar el texto que quiero

Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
Optional
ByVal Subrayado As Boolean = False)

Componente.Find(TextoACambiar)

Dim currentFont As System.Drawing.Font = Componente.SelectionFont

Dim newFontStyle As System.Drawing.FontStyle

If Negrita Then

newFontStyle = FontStyle.Bold

Else

newFontStyle = FontStyle.Regular

End If

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

If Subrayado Then

newFontStyle = FontStyle.Underline

Else

newFontStyle = FontStyle.Regular

End If

Componente.SelectionFont = New Font(currentFont.FontFamily,
currentFont.Size, newFontStyle)

End Sub











Respuesta Responder a este mensaje
#4 Pep
21/04/2005 - 18:39 | Informe spam
Si puede ser, lo que no entiendoes porque Chr(13) & Chr(13) esto es carriage
return .. para que ?, en todo caso pruebalo sin y tiene que funcionar.. mi
ejemplo lo hacia bien!
Suerte
Pep,


"José Carretero García" escribió:

Puede tener algo que ver el que yo añada el texto de la siguiente forma:
RTxt_Previo.Text = RTxt_Previo.Text & TextoLinea & Chr(13) & Chr(13)



"José Carretero García" escribió en el mensaje
news:
> Gracias, he puesto esto y sigue sin funcionar:
>
> RTxt_Previo = FormateaTexto(RTxt_Previo, TextoEscribir, False, True)
>
> Private Function FormateaTexto(ByVal Componente As RichTextBox, ByVal
> TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
> Optional ByVal Subrayado As Boolean = False) As RichTextBox
>
> Dim posicion As Integer = Componente.Find(TextoACambiar)
>
> Dim currentFont As System.Drawing.Font = Componente.SelectionFont
>
> Dim newFontStyle As System.Drawing.FontStyle
>
> Componente.Select(posicion, Len(TextoACambiar))
>
> newFontStyle = FontStyle.Underline
>
> Componente.SelectionFont = New Font(currentFont.FontFamily,
> currentFont.Size, newFontStyle)
>
> Return Componente
>
> End Function
>
>
>
> "Pep" escribió en el mensaje
> news:
>> Hola José,
>> Te enfrentas a variaas dificultades,
>> En tu codigo estas sobreescribiendo las operaciones de subrrayado y bold,
>> por lo que cuando las dos sean 'true' solo veras el efecto de la ultima
>> .. o
>> sea subrrayado.
>>
>> Luego a la llamada FormateoTexto le pasas un Rtbox llamandolo componente,
>> debes recordar que al finalizar con 'componente' deberias retornar este
>> objeto al richtextbox, para que este reflejara los cambios efectuados en
>> el
>> 'componente', estaria mejor usar una funcion que devolviera directamente
>> un
>> Rtbox.
>> mirate esto y luego adaptado a lo que necesitas :
>>
>> Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
>> TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
>> Optional
>> ByVal Subrayado As Boolean = False)
>> Dim posicion As Integer = Componente.Find(TextoACambiar)
>> Dim currentFont As System.Drawing.Font = Componente.SelectionFont
>> Dim newFontStyle As System.Drawing.FontStyle
>> Componente.Select(posicion, Len(TextoACambiar))
>> newFontStyle = FontStyle.Bold
>> Componente.SelectionFont = New Font(currentFont.FontFamily,
>> currentFont.Size, newFontStyle) '
>> Me.RichTextBox1 = Componente
>> End Sub
>>
>> No dudes en replicar si necesitas algo mas.
>> Pep,
>>
>>
>> "José Carretero García" escribió:
>>
>>> Necesito cambiar el estilo de un Richtextbox y no lo consigo. Lo realizo
>>> mediante el siguietne codigo, que es lo que está mal o como deberia de
>>> usarlo.
>>>
>>> Gracias por la ayuda
>>>
>>> FormateaTexto(RTxt_Previo, TextoEscribir, False, True) => Esta funcion
>>> la
>>> uso para cambiar el texto que quiero
>>>
>>> Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
>>> TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
>>> Optional
>>> ByVal Subrayado As Boolean = False)
>>>
>>> Componente.Find(TextoACambiar)
>>>
>>> Dim currentFont As System.Drawing.Font = Componente.SelectionFont
>>>
>>> Dim newFontStyle As System.Drawing.FontStyle
>>>
>>> If Negrita Then
>>>
>>> newFontStyle = FontStyle.Bold
>>>
>>> Else
>>>
>>> newFontStyle = FontStyle.Regular
>>>
>>> End If
>>>
>>> If Subrayado Then
>>>
>>> newFontStyle = FontStyle.Underline
>>>
>>> Else
>>>
>>> newFontStyle = FontStyle.Regular
>>>
>>> End If
>>>
>>> Componente.SelectionFont = New Font(currentFont.FontFamily,
>>> currentFont.Size, newFontStyle)
>>>
>>> If Subrayado Then
>>>
>>> newFontStyle = FontStyle.Underline
>>>
>>> Else
>>>
>>> newFontStyle = FontStyle.Regular
>>>
>>> End If
>>>
>>> Componente.SelectionFont = New Font(currentFont.FontFamily,
>>> currentFont.Size, newFontStyle)
>>>
>>> End Sub
>>>
>>>
>>>
>>>
>>>
>
>



Respuesta Responder a este mensaje
#5 José Carretero García
25/04/2005 - 09:27 | Informe spam
lo de chr(13) es un retorno de carro necesario, no tiene nada que ver con el
formato... pero a mi sigue sin funcionarme


"Pep" escribió en el mensaje
news:
Si puede ser, lo que no entiendoes porque Chr(13) & Chr(13) esto es
carriage
return .. para que ?, en todo caso pruebalo sin y tiene que funcionar.. mi
ejemplo lo hacia bien!
Suerte
Pep,


"José Carretero García" escribió:

Puede tener algo que ver el que yo añada el texto de la siguiente forma:
RTxt_Previo.Text = RTxt_Previo.Text & TextoLinea & Chr(13) & Chr(13)



"José Carretero García" escribió en el
mensaje
news:
> Gracias, he puesto esto y sigue sin funcionar:
>
> RTxt_Previo = FormateaTexto(RTxt_Previo, TextoEscribir, False, True)
>
> Private Function FormateaTexto(ByVal Componente As RichTextBox, ByVal
> TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
> Optional ByVal Subrayado As Boolean = False) As RichTextBox
>
> Dim posicion As Integer = Componente.Find(TextoACambiar)
>
> Dim currentFont As System.Drawing.Font = Componente.SelectionFont
>
> Dim newFontStyle As System.Drawing.FontStyle
>
> Componente.Select(posicion, Len(TextoACambiar))
>
> newFontStyle = FontStyle.Underline
>
> Componente.SelectionFont = New Font(currentFont.FontFamily,
> currentFont.Size, newFontStyle)
>
> Return Componente
>
> End Function
>
>
>
> "Pep" escribió en el mensaje
> news:
>> Hola José,
>> Te enfrentas a variaas dificultades,
>> En tu codigo estas sobreescribiendo las operaciones de subrrayado y
>> bold,
>> por lo que cuando las dos sean 'true' solo veras el efecto de la
>> ultima
>> .. o
>> sea subrrayado.
>>
>> Luego a la llamada FormateoTexto le pasas un Rtbox llamandolo
>> componente,
>> debes recordar que al finalizar con 'componente' deberias retornar
>> este
>> objeto al richtextbox, para que este reflejara los cambios efectuados
>> en
>> el
>> 'componente', estaria mejor usar una funcion que devolviera
>> directamente
>> un
>> Rtbox.
>> mirate esto y luego adaptado a lo que necesitas :
>>
>> Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
>> TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
>> Optional
>> ByVal Subrayado As Boolean = False)
>> Dim posicion As Integer = Componente.Find(TextoACambiar)
>> Dim currentFont As System.Drawing.Font =
>> Componente.SelectionFont
>> Dim newFontStyle As System.Drawing.FontStyle
>> Componente.Select(posicion, Len(TextoACambiar))
>> newFontStyle = FontStyle.Bold
>> Componente.SelectionFont = New Font(currentFont.FontFamily,
>> currentFont.Size, newFontStyle) '
>> Me.RichTextBox1 = Componente
>> End Sub
>>
>> No dudes en replicar si necesitas algo mas.
>> Pep,
>>
>>
>> "José Carretero García" escribió:
>>
>>> Necesito cambiar el estilo de un Richtextbox y no lo consigo. Lo
>>> realizo
>>> mediante el siguietne codigo, que es lo que está mal o como deberia
>>> de
>>> usarlo.
>>>
>>> Gracias por la ayuda
>>>
>>> FormateaTexto(RTxt_Previo, TextoEscribir, False, True) => Esta
>>> funcion
>>> la
>>> uso para cambiar el texto que quiero
>>>
>>> Private Sub FormateaTexto(ByVal Componente As RichTextBox, ByVal
>>> TextoACambiar As String, Optional ByVal Negrita As Boolean = False,
>>> Optional
>>> ByVal Subrayado As Boolean = False)
>>>
>>> Componente.Find(TextoACambiar)
>>>
>>> Dim currentFont As System.Drawing.Font = Componente.SelectionFont
>>>
>>> Dim newFontStyle As System.Drawing.FontStyle
>>>
>>> If Negrita Then
>>>
>>> newFontStyle = FontStyle.Bold
>>>
>>> Else
>>>
>>> newFontStyle = FontStyle.Regular
>>>
>>> End If
>>>
>>> If Subrayado Then
>>>
>>> newFontStyle = FontStyle.Underline
>>>
>>> Else
>>>
>>> newFontStyle = FontStyle.Regular
>>>
>>> End If
>>>
>>> Componente.SelectionFont = New Font(currentFont.FontFamily,
>>> currentFont.Size, newFontStyle)
>>>
>>> If Subrayado Then
>>>
>>> newFontStyle = FontStyle.Underline
>>>
>>> Else
>>>
>>> newFontStyle = FontStyle.Regular
>>>
>>> End If
>>>
>>> Componente.SelectionFont = New Font(currentFont.FontFamily,
>>> currentFont.Size, newFontStyle)
>>>
>>> End Sub
>>>
>>>
>>>
>>>
>>>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida