Hola, lo que pretendes hacer deberías controlarlo de la siguiente manera:
Código vb:
Ver originalPrivate Declare Function SendMessageBynum Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Const EM_LINEFROMCHAR As Long = &HC9
Private Const EM_LINELENGTH As Long = &HC1
Private Const EM_LINEINDEX As Long = &HBB
Por otra parte, este es el código que complementa la funcion definida:
Código vb:
Ver originalDim LineaActual As Long
Dim PrimerCaracter As Long
Dim Longitud As Long
' Calcula la línea donde se encuentra el cursor
LineaActual = SendMessageBynum(txt.hwnd, EM_LINEFROMCHAR, -1, 0&)
' Determina la posición del primer carácter de la línea actual
PrimerCaracter = SendMessageBynum(txt.hwnd, EM_LINEINDEX, LineaActual, 0&)
' Calcula la longitud de la línea seleccionada
Longitud = SendMessageBynum(txt.hwnd, EM_LINELENGTH, PrimerCaracter, 0&) + 1
Debes ahora montarlo como mejor te convenga.
Saludos