Página 1 de 1
textbox, ver las últimas líneas no las primeras. pol faaavol
Publicado: Mié Dic 26, 2007 1:27 pm
por luis5f
Necesito algo que en principio me parecía muy simple pero me está corroyendo durante los últimos días.
Tengo un textbox, multilínea y scrollbars (vertical sólamente).
Cada vez que pulso en un botón, se me escribe una línea de texto en el textbox, que se va añadiendo a lo anterior.
El problema está en que cuando el número de líneas de texto, es mayor que lo que cabe en el textbox, lo que veo son las primeras líneas, pero no las últimas, QUE ES LO QUE BUSCO ver lo último escrito no las primeras líneas.
Si alguien me pudiera ayudar, le estaría muy agradecido, mi proyecto depende todo de esto, lo demás esta hecho.
Gracias....
Publicado: Mié Dic 26, 2007 6:31 pm
por Carola77
Hola
pdrias copiar el codigo para guiarnos mejor y no alterar lo que llevas hecho?
¿cóm envío el código?
Publicado: Mié Dic 26, 2007 9:11 pm
por luis5f
Perdón por la pregunta, pero en esto de los foros soy novatillo.
El código es muy corto ya que he hecho un ejemplito con el problema, pero lo pregunto para que no tengais que teclear.
Gracias ... y espero tu respuesta para poner el código.
el código,
Publicado: Jue Dic 27, 2007 9:26 pm
por luis5f
Private Sub Form_Resize()
Text1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Static Sub Text1_DblClick()
Dim cadena As String
Dim i As Long
i = i + 1
cadena = "esta es la línea nº" & i
Text1.Text = Text1.Text & cadena & vbCrLf
End Sub
Si lo ejecutáis sale un formulario en blanco, y un textbox que ocupa todo el formulario. Éste se reajusta al tamaño del formulario en caso de que le cambiemos el tamaño al formulario. Cada vez que hagamos un doble click dentro aparece una línea de texto que se va añadiendo a las que ya existían. El problema, como comenté, es que si el número de líneas es superior a los que caben en la pantalla, sólo vemos las primeras líneas no las últimas que se van escribiendo. ¿Cómo hago para ver las últimas escritas sin usar la barra de desplazamiento?. Estoy seguro de que esto para gente con nivel tiene que ser "chupao" por favor AYUUUDAAAA. Gracias a todos y Carola77 en particular.
Publicado: Vie Dic 28, 2007 1:06 am
por Pitufo
Si no recuerdo mal, has de utilizar la propiedad SelStart del TextBox, (se suele usar conjuntamente con SelLength). Para llevar el cursor al final, debe ser algo parecido a:
Text1.SelStart=Len(Text1.Text)
Text1.SelLength=0
Creo que con eso lograrás encaminarte a la solución.
Saludos.
Publicado: Vie Dic 28, 2007 3:46 am
por Carola77
Hola.
Por lo que veo el codigo se ve simple,

, pero es verdad aveces uno se enrreda y estresa con cualquier cosa y la solucion es minima a mi me ha pasado un varias oportunidades

.
este es tu programa.
Private Sub Form_Resize()
Text1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Static Sub Text1_DblClick()
Dim cadena As String
Dim i As Long
i = i + 1
cadena = "esta es la línea nº" & i
Text1.Text = Text1.Text & cadena & vbCrLf
End Sub
Y como dice Pitufo te sirven estas 2, con una le sacas el largo a la frase o texto que has escrito y con la otra vuelves el cursor al inicio del texto logrando asi ver los de arriba ya que este comando hace aparte q el cursor este en la posicion 0.0 es que mueva el texto acomodandolo y por eso veamos la primera frase o texto escrito.
Private Sub Form_Resize()
Text1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Static Sub Text1_DblClick()
Dim cadena As String
Dim i As Long
i = i + 1
cadena = "esta es la línea nº" & i
Text1.Text = Text1.Text & cadena & vbCrLf
Text1.SelStart=Len(Text1.Text)
Text1.SelLength=0
End Sub [/b][/color]
pd: Si estas usando un incrementador i=i+1 . ¿adonde lo usas y para que?
lo he probado y va, gracias me habeis ayudado mucho.
Publicado: Vie Dic 28, 2007 1:44 pm
por luis5f
Gracias Carola77 y Pitufo, lo he probado en cuanto lo he visto y es lo que buscaba. No sabeis lo mucho que ayudais a los que comienzan ...
Re: textbox, ver las últimas líneas no las primeras. pol faaavol
Publicado: Jue Jul 26, 2012 1:04 am
por cracksis
luis5f escribió:Necesito algo que en principio me parecía muy simple pero me está corroyendo durante los últimos días.
Tengo un textbox, multilínea y scrollbars (vertical sólamente).
Cada vez que pulso en un botón, se me escribe una línea de texto en el textbox, que se va añadiendo a lo anterior.
El problema está en que cuando el número de líneas de texto, es mayor que lo que cabe en el textbox, lo que veo son las primeras líneas, pero no las últimas, QUE ES LO QUE BUSCO ver lo último escrito no las primeras líneas.
Si alguien me pudiera ayudar, le estaría muy agradecido, mi proyecto depende todo de esto, lo demás esta hecho.
Gracias....
Utiliza el metodo AppendText del TextBox este lo agregara al final y solo se recorrera para mostrarlo.