SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: elgloriosonumero10 en Lunes 30 de Agosto de 2004, 19:54
-
Hola estoy realizando un programilla y necesito saber cómo imprimir un listbox directamente por la impresora por defecto.
Lo que hago es lo siguiente:
TPrinter Prntr = Printer();
TRect r = Rect(200,200,Prntr->PageWidth – 200,Prntr->PageHeight – 200);
Prntr->BeginDoc();
Prntr->Canvas->TextRect(r, 200, 200, listbox1->Items->Text);
Prntr->EndDoc();
Pero me imprime todas las líneas del listbox en una sola línea del papel. ¿Qué puedo hacer?
Muchas gracias.
-
Intenta esto:
int IAltoFuente;
int t;
TPrinter Prntr = Printer();
// determina el alto en pixels de la fuente usada
IAltoFuente=Prntr->Canvas->TextHeight ("X");
Prntr->BeginDoc();
// Imprime las lineas una por una
for (t=0;t<lisbox1->Items->Count;t++)
Printer ()->Canvas->TextOut (0,t*IAltoFuente,listmox1->Items->Strings[t]);
Prntr->EndDoc();
No lo he probado pero creo que por ahí van los tiros
-
OK, muchas gracias, funciona perfectamente.