Ver Mensaje Individual
  #12 (permalink)  
Antiguo 13/09/2009, 14:18
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Como saber cuando se paso por un salto de linea RichTextBox?

Creo que te lias.
Si usas por ejemplo el ultimo buscatexto:

Private Sub BuscaTexto(ByVal TextoABuscar As String, TextBox As RichTextBox)
Dim PosicionTexto As Double
If TextBox.SelStart >= Len(TextBox.text) Then Exit Sub

If TextBox.SelStart = 0 And Left$(TextBox.Text, Len(TextoABuscar)) = TextoABuscar And TextBox.SelText <> TextoABuscar Then
TextBox.SelLength = Len(TextoABuscar)
Exit Sub
End If

PosicionTexto = TextBox.Find(TextoABuscar, TextBox.SelStart + TextBox.SelLength)
If PosicionTexto > 0 then
TextBox.SelStart = PosicionTexto
TextBox.SelLength = Len(TextoABuscar)
End If

Y la funcion contarsaltos por otro lado, que no tengo aqui:
Function ContarSaltos(....) as double
...
End Function

En tu botón o lo que uses para buscar solo tienes que poner:

BuscaTexto "Linea 3", RichTextBox1

Saltos=ContarSaltos(Left$(RichTextBox1.Text, RichTextBox1.SelStart))
No se para que quieres los saltos. No conozco lo que dices que intentas simular.

Insisto en que tienes que tener el parametro RichTextBox.HideSelection = False o pasar el foco al texto para que se vea constantemente lo seleccionado.
Lo digo por que yo tardé en conocer esa opción y me comia la cabeza más.

PD: Por cierto, direis que "voy sobrao" por que declaro las variables numéricas como Double, pero es que estuve creando un simulacro de programa que generaba reducciones para la quiniela de futbol y los Long se me quedaban cortos en muchas ocasiones, así que me acostumbré a los Double. Total, memoria en estos tiempos suele sobrar y se supone que cuando finalizas las Sub las variables se borran. En otro caso cuando ejecutaras 50 veces algo pesado te quedarías sin memoria y a mi no me ha pasado nunca.

Saluditos

Última edición por pkj; 13/09/2009 a las 14:56