List Box drucken im Dialog
-
Hallo Leute ich möchte eine Listbox im Dialogfeld drucken, ich habe auch
schon durch die FAQ einen funktionierenden Code geschrieben. Das Problem ist aber das meine Listbox zwar ausgedruckt wird aber ohne Zeilenumbrüche die ich mit "\n" angebe. Der Drucker versucht dann anscheinend "\n" zu drucken und auf dem Platt sieht man dort wo eigentlich der Zeilenumbruch sein müsste dieses Zeichen: "[]".
-
CString zeichen; CString drucken; int n; int i; for (i=0; i < inhalt.GetCount(); i++) { n = inhalt.GetTextLen( i ); inhalt.GetText( i, zeichen.GetBuffer(n)); drucken = drucken + + "\n" + zeichen; } CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this); dlgPrint.GetDefaults(); //if (dlgPrint.DoModal()==IDOK) //{ // Den Drucker-DC vom Dialogfeld mit einem // CDC-Objekt verbinden CDC dcPrint; dcPrint.Attach(dlgPrint.GetPrinterDC()); // Eine DOCINFO-Struktur erzeugen und füllen DOCINFO myPrintJob; myPrintJob.cbSize = sizeof(myPrintJob); myPrintJob.lpszDocName = "MeinDruckAuftrag"; myPrintJob.lpszOutput = NULL; myPrintJob.lpszDatatype = NULL; myPrintJob.fwType = NULL; // Als Hilfe wie man bestimmte Parameter abfragt int te = dcPrint.GetDeviceCaps(ASPECTY); int test = dcPrint.GetDeviceCaps(ASPECTX); te = dcPrint.GetDeviceCaps(HORZRES); test = dcPrint.GetDeviceCaps(VERTRES); // Ausdruck des Dokuments starten if (dcPrint.StartDoc(&myPrintJob)>=0) { // Eine Seite beginnen dcPrint.StartPage(); // Zeichnen beginnen dcPrint.TextOut(0,0,drucken); // Seite auswerfen dcPrint.EndPage(); // Dokument schließen dcPrint.EndDoc(); } // Druckergerätekontext löschen dcPrint.DeleteDC(); //} }
-
OK ich formuliere die Frage ein bisschen algemeiner.
Wie kann ich den Inhalt einer Listbox drucken?