List Box drucken
-
Hi @ all!
Hab die MSDN und die FAQ durchforstet und finde nichts darüber, wie ich ein komplettes ListBox - Fenster drucke. Über die Funktion TextOut wird immer nur meine letzte Zeile gedruckt. Wie kann ich eine Anweisung geben, dass das komplette ListBox - Fenster gedruckt wird??
Bin für jede Hilfe dankbar ...
-
Hallo nochmal!
Frage: Wie kann man einen Druck - Job die Anweisung geben, dass er die nächste Zeile drucken soll!??
-
So....
Nachdem ich keine Antwort bekommen hab, hab ich folgendes zustande gebracht:
if (dlgPrint.DoModal()==IDOK) { CDC dcPrint; dcPrint.Attach(dlgPrint.GetPrinterDC()); // Eine DOCINFO-Struktur erzeugen und füllen DOCINFO myPrintJob; myPrintJob.cbSize = sizeof(myPrintJob); myPrintJob.lpszDocName = "Auftrag"; myPrintJob.lpszOutput = NULL; myPrintJob.lpszDatatype = NULL; myPrintJob.fwType = NULL; if (dcPrint.StartDoc(&myPrintJob)>=0) { dcPrint.StartPage(); // ListBox (m_ausgabe) auslesen int x=0; for (a=0; a < m_ausgabe.GetCount(); a++) { n = m_ausgabe.GetTextLen( a ); m_ausgabe.GetText( a, zeichen.GetBuffer(n)); sprintf (yes,"%s",zeichen); dcPrint.TextOut(20,x,yes); x = x+45; } dcPrint.EndPage(); dcPrint.EndDoc(); } dcPrint.DeleteDC(); }
Das Ganze gut und schön! Funzt (zumindest fürs Erste);
aber ich find das ziemlich primitiv! Gibs da nicht bessere Methoden??
-
Die Antwort hättest du gleich in der FAQ gefunden.
Was soll es für andere Möglichkeiten geben?
Drucker ist ein Device. Darauf wird mit TextOut gezeichnet.
Andere Möglichkeit wäre nur eine Klasse,Bibliothek oder ähnliches zu verwenden.
Diese Dinge findets du bei codeguru,codeproject, etc.Oder du verwendest ListLabel, Crystal Report oder ähnliche. Kosten aber Geld
-
ok danke ....