elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Editor de texto / negrita / cursiva / ...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Editor de texto / negrita / cursiva / ...  (Leído 12,816 veces)
ltbl

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Editor de texto / negrita / cursiva / ...
« en: 26 Octubre 2010, 13:49 pm »

Hola.
Estoy haciendo un editor de texto con Visual Basic.

Tengo un problema con la negrita, cursiva y subrayado.

Las 3 funciones son iguales por ejemplo la que pasa el texto a negrita es:
Código
  1.   1.    Public Sub negrita()
  2.   2.         If rtb_hoja.SelectionFont.Bold = False Then
  3.   3.             rtb_hoja.SelectionFont = New Font(rtb_hoja.SelectionFont, FontStyle.Bold)
  4.   4.         Else
  5.   5.             rtb_hoja.SelectionFont = New Font(rtb_hoja.SelectionFont, FontStyle.Bold = False)
  6.   6.         End If
  7.   7.     End Sub

Cuando le doy al botón de negrita funciona bien, tanto para poner negrita como para quitarla.
El problema viene cuando tengo una palabra en negrita, y ademas la quiero en cursiva, que no me guarda el primer estado.
Aún no tengo mucha practica con VB y no se me ocurre cómo hacerlo, ¿alguien me echa una mano?



En línea

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.142


I'Love...!¡.


Ver Perfil WWW
Re: Editor de texto / negrita / cursiva / ...
« Respuesta #1 en: 27 Octubre 2010, 06:24 am »

claro lo que pasa es que le estas endicando que en cualquier caso se cree otra estructura de y tipo Font y que deseche la anterior..., lo que puedes hacer ( No tengo instalado el VB .NET ahorita ) pero supongo que seria asi:

Código
  1.  
  2. rtb_hoja.SelectionFont.FontStyle.Bold=true
  3. rtb_hoja.SelectionFont.FontStyle.italyc=true
  4.  
  5.  

OJO que no traigo el VB.NEt y esto lo supuse unicamente.

P.D.: Hay que leerse un poco mas sobre VB.NET... en la MSDN.

Dulce Infierno Lunar!¡.


« Última modificación: 27 Octubre 2010, 06:26 am por BlackZeroX▓▓▒▒░░ » En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
ltbl

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Editor de texto / negrita / cursiva / ...
« Respuesta #2 en: 30 Octubre 2010, 11:44 am »

Hola, ya encontré como hacer lo que quería. Lo dejo aquí por si a alguien le sirve.
Código
  1.    Public Sub negrita()
  2.        If rtb_hoja.SelectionFont.Bold = False Then
  3.            rtb_hoja.SelectionFont = New Font(rtb_hoja.SelectionFont, rtb_hoja.SelectionFont.Style Or FontStyle.Bold)
  4.        Else
  5.            rtb_hoja.SelectionFont = New Font(rtb_hoja.SelectionFont, rtb_hoja.SelectionFont.Style - 1)
  6.        End If
  7.    End Sub

Cada estilo de fuente (negrita, cursiva, etc) tiene asociado un numero, por ejemplo negrita es 1, cursiva es 2, subrayado es 4. La propiedad "SelectionFont.Style" del RichTextBox devuelve la suma de los estilos que hay en ese momento. Restando el numero del estilo que estoy quitando a los que ya hay consigo mantener los otros, que es lo que queria.
« Última modificación: 30 Octubre 2010, 11:46 am por ltbl » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(Aporte) Código fuente Pasar texto a negrita y cursiva o plana
Java
Senior++ 1 18,789 Último mensaje 22 Octubre 2012, 17:51 pm
por 1mpuls0
como hacer un texto en negrita con contentEditable
Desarrollo Web
tecasoft 7 3,023 Último mensaje 28 Marzo 2013, 19:00 pm
por tecasoft
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines