SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: elgloriosonumero10 en Lunes 30 de Agosto de 2004, 19:54

Título: Imprimir Listbox En C++builder
Publicado 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.
Título: Re: Imprimir Listbox En C++builder
Publicado por: Hodoacro en Martes 7 de Septiembre de 2004, 12:03
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
Título: Re: Imprimir Listbox En C++builder
Publicado por: elgloriosonumero10 en Martes 7 de Septiembre de 2004, 12:19
OK, muchas gracias, funciona perfectamente.