Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2009, 06:02
Avatar de Nlrvana
Nlrvana
 
Fecha de Ingreso: marzo-2008
Mensajes: 36
Antigüedad: 17 años, 1 mes
Puntos: 0
¿Por qué me pide un array?

Hola, necesito copiar texto de un Textbox a un Picturebox y para ello estoy usando el método Print:

Código:
PictureBox.Print texto 
Para poder gestionar los saltos de línea se me ha ocurrido enviar los caracteres uno a uno...y no quedan mal cuando se escriben directamente en el Textbox:

Código:
Private Sub Text1_KeyPress(KeyAscii As Integer)
char = Chr(KeyAscii)
texto = texto + char
If ((Picture1.CurrentX + Picture1.TextWidth(texto)) > (Picture1.ScaleWidth - MargenDerechoDelTextoEnElPictureBox) And KeyAscii = 32) Then
char = ""
Picture1.CurrentY = Picture1.CurrentY + Picture1.TextHeight(texto)
tr = 0
End If
Picture1.Print char;
End Sub
(Así al menos me funciona, seguro que ustedes conocen una manera mejor, si la saben díganmela)

Lo que no entiendo es por qué no funciona este código para enviarlos uno por uno desde una variable, y en cambio me pide un array:

Código:
Private Sub Command1_Click()
Dim texto as String, char as String
Dim x as Integer
texto ="Hola Mundo"
For x = 0 To Len(texto)
char = texto(x)
Picture1.Print char;
Next x
End Sub

Además no se envía al Picturebox el formato que tenga el texto definido en el Textbox (fuente, tamaño, etc) y tampoco se porqué.

Gracias por su ayuda