visual basic y centrar un texto con margenes

mirad tengo en un textbox multiple un texto.
Ejemplo
Hola soy un cabrito.
mestoy rallando.
y no se como hacerlo
lo he provado todo.

y necesito ponerle nos margenes ascii y centrarlo en otro textbox:
||| hola soy un cabrito ||||
||| mestoy rallando ||||
||| y no se como hacerlo ||||
||| lo he provado todo. ||||

O sea centrado a cada margen.
Consigo centrarlo y hacerlo bien pero cuando hay un enter se jode, tenia pensado en el bucle ke coje las letras que me mire tb la condicion si es enter. PERO COMO VEO SI ES ENTER? el vbcrlf ese o como se escriva me dice ke no ...
El subrallado es el que no rula...


y2 = y
st = Text14.Text
While (y <> 60 + y2 & st <> vbCrLf )
y = y + 1
Wend
Text14.Text = Left$(Mid$(Text13.Text, y2), y)
x = Len(Text14.Text)
x = (71 - x)
Form3.Text1.Text = Form3.Text1.Text & vbCrLf
If (x Mod 2 = 0) Then
h = (x / 2)
For i = 0 To h
Form3.Text1.Text = Form3.Text1.Text & " "
Next
Form3.Text1.Text = Form3.Text1.Text & Text14.Text
For i = 0 To h
Form3.Text1.Text = Form3.Text1.Text & " "
Next
Else
h = (x + 1)
h = (h / 2)
For i = 0 To h
Form3.Text1.Text = Form3.Text1.Text & " "
Next
Form3.Text1.Text = Form3.Text1.Text & Text14.Text
h = (x - 1)
h = (h / 2)
For i = 0 To h
Form3.Text1.Text = Form3.Text1.Text & " "
Next
End If
Form3.Text1.Text = Form3.Text1.Text & "||||||"
CIruelin, ahora me pillas en bragas pq hace tiempo que no me lio con el Visual, pero puedes probar a capturar las teclas, con los sucesos KeyPress,KeyUp,KeyDown y ahi comprobar si se ha pulsado la tecla Enter.
No se si te servirá pero bueno.


Saludos
nadie lo sabe? haver en un string es question de detectar un caracter que sea enter...
X_(
Si no recuerdo mal, un enter era Chr(13) & Chr(10), prueba eso :D
pos me dice ke los tipos no coinsiden arrgghhh ke desesperasion XD
Qué raro... si acaso prueba a poner (Chr(13) & Chr(10)). O mejor aún,

Dim enter as string * 2 'Porque son dos bytes un enter

enter = Chr(13) & Chr(10)

y luego en vez del vbCrLf, busca esa variable. De todos modos, creo que el enter es vbKeyEnter, o algo así. Mira en la ayuda si la tienes que es muy completa o en el examinador de objetos, sé que el enter es KeyAscii = 13, pero creo que eso es más de evento de teclado que otra cosa.

Aunque ahora que pienso, si lo que comprueba es 1 byte y un enter son 2, pues prueba simplemente con el Chr(13). Y de todas maneras usaría un InStr() para buscar la cadena, bueno sería algo pesado ya que tendrías que ver dónde está y luego separar cadenas sin en el enter, joder, perdona, me estoy liando hasta yo xD
si ya me veo que tendre que usar el instr que es una posibilidad, esta noche cuando te en casa lo monto XD
6 respuestas