Textbox multilínea

Campo multilinea (18/06/03)
Tengo un campo multilínea que al intentar imprimir con el objeto printer se me sale fuera del folio, es decir no corta la línea y sigue escribiendo com si hubiera papel a la derecha.
¿Puedo solucionarlo y que cambie de línea cuando se acabe el ancho del papel?

1 Respuesta

Respuesta
1
A ver esto puedes solucionarlo comparando la longitud del texto a imprimir con la longitud que tu desees que tenga la línea. Por pasos :
- Usando el método Textwidth del objeto printer ( Printer. TextWidth ( Texto ) ), puedes conseguir la longitud del texto impreso con la fuente indicada en la impresora.
Si comparas el valor de retorno de esta función con el valor que tu desees que tenga el ancho de página, podrás saber cuando una línea sea demasiado larga.
Si detectas una línea de este tipo, debes imprimir hasta la distancia deseada en una línea y el resto del texto en la siguiente ( repitiendo el mismo proceso para ver si también es demasiado larga )
- Por eso es bueno que tengas una función recursiva que le puedas pasar el texto, te compruebe si es demasiado largo, te imprima el trozo correspondiente y se vuelva a llamar a ella misma para comprobar el resto del texto y lo imprima.
- Si además quieres que te quede bonito ( porque hecho así te cortará las palabras por cualquier sitio ) puedes detectar donde está el último espacio o punto dentro de la línea que debes imprimir y imprimir solo hasta allí,
- Como ves, puede traerte algo de trabajo, pero merece la pena montar la función, que te será de utilidad para otras impresiones.
- COnsejo : paciencia y poquito a poquito :) Ve montando la función comenzando con lo más básico y paciencia.
- Si te surgen problemas durante su construcción pues aquí estoy :)
Magne

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas