Pregunta escribir en Richtextbox

Iniciado por Cromatico, 14 Diciembre 2010, 21:09 PM

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

Cromatico

Hola que talll otra ves a romper las bo.. :D xD

Tengo una nueva duda... Para escribir en un richtextbox de un formulario de un proyecto externo al mio...

Yo lo que hago es obtengo lo que ya esta escrito, lo guardo en un string, y despues con sendmessage (SETTEXT) mando el string + linea nueva + texto mio...

Las funciones para obtener el texto son:
Public Function Obtener_Texto(Hwnd_Ventana As Long) As String
    Dim i As Long
    Dim n As Long
    Dim temp As String
    n = SendMessageAsLong(Hwnd_Ventana, EM_GETLINECOUNT, 0, 0)
    For i = n - 10 To n
        temp = temp & Leer_Linea(Hwnd_Ventana, i - 1)
    Next
    Obtener_Texto = temp
End Function


y

Public Function Leer_Linea(Hwnd_Ventana As Long, Numero_Linea As Long) As String
    Const MAX_CHAR_PER_LINE As Long = 80
    Dim Lo As Integer
    Dim Hi As Integer
    Dim ret    As Long
    Dim Buffer As String
    Lo = MAX_CHAR_PER_LINE And (255)
    Hi = Int(MAX_CHAR_PER_LINE / 256)
    Buffer = Chr$(Lo) + Chr$(Hi) + Space$(MAX_CHAR_PER_LINE - 2)
    ret = SendMessageAsString(Hwnd_Ventana, EM_GETLINE, Numero_Linea, Buffer)
    Leer_Linea = Left$(Buffer, ret)
End Function


Si no me equivoco estan en recursosvisualbasic no recuerdo bien...
Bueno despues de obtener el texto, mando el nuevo con sendmessage y bajo hasta el final:
Call SendMessage(HANDLE, WM_SETTEXT, 0, ByVal TextoAnterior & vbCrLf & TextoX & vbCrLf)
Call SendMessage(HANDLE, WM_VSCROLL, SB_BOTTOM, 0)


Ahora mi pregunta es, se puede Escribir directamente sin obtener el texto anterior? osea hacer un vbCrLf sobre lo que ya este escrito y mandar otro texto?

Porque cuando obtengo el texto, y mando todo con sendmessage, se pierde el formato (el color es lo que mas me importa)

Gracias!!!

BlackZeroX

#1
.
Consteste cualquier cosa sorry.

Dulces Lunas!¡.
The Dark Shadow is my passion.

Cromatico

Cita de: BlackZeroX▓▓▒▒░░ en 15 Diciembre 2010, 00:37 AM
.
Consteste cualquier cosa sorry.

Dulces Lunas!¡.

xD no alcanze a leerlo igual :P Es medio imposible lo que estoy tratando de hacer no?

NetFcruz

Perdon por revivir este post, solo encontre este para obetener la palabra del richtexbox y encontre este, solo que me marca 3 errores, SendMessageAsLong(Hwnd_Ventana, EM_GETLINECOUNT, 0, 0)
        For i = n - 10 To n
            temp = temp & Leer_Linea(


SOn porque debo declararlas como que tipo de dato?
Saludos...