Veröffentlicht 8. Juni 200124 j Wie erteile ich aus einem Programm heraus einen Druckauftrag einer bestimmten Textdatei ?
8. Juni 200124 j Ich habs mir mal angeschaut und ich beschreibs lieber nur: Man muß einen Display-Context herstellen diesen mit Items füllen diese mit Text füllen die man aus der Datei rauszieht. Dann einen Drucker-Kontext herstellen. Ein CPrindialog-Objekt erstellen. Dieses mit dem Druckerkontext initialisieren. Den Display-Context in den Print()-Aufruf des Druckerkontexts übergeben und dann sollte theoretisch ein Druckauftrag erzeugt werden - puh! Da ist man vielleicht doch besser bedient den Text im Dos-Fenster mit dem print-Befehl auszudrucken - nur wegen einer Text-Datei lohnt sich der Aufwand wohl kaum.
8. Juni 200124 j Ok, ich habe mir doch die Mühe gemacht, weils doch etwas elementares ist: PRINTDLG pd; // alle Variablen mit 0 initialisieren // dann gibt´s keinen Ärger ZeroMemory(&pd, sizeof(PRINTDLG)); pd.lStructSize = sizeof(PRINTDLG); pd.hwndOwner = hWnd; pd.hDevMode = NULL; pd.hDevNames = NULL; pd.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC; // Anzahl Seiten pd.nCopies = 1; pd.nFromPage = 0xFFFF; pd.nToPage = 0xFFFF; pd.nMinPage = 1; pd.nMaxPage = 0xFFFF; DOCINFO di; di.cbSize = sizeof(DOCINFO); di.lpszDocName = "Drucktest"; di.lpszOutput = (LPTSTR) NULL; di.fwType = 0; // Ab hier wird der Druckauftrag gestartet StartDoc(pd.hDC, &di); StartPage(pd.hDC); // das hier wird als Text ins Fenster kopiert // Natürlich sollte der Pen und Zeichensatz/-größe/-farbe vorher eingestellt werden TextOut(pd.hDC, 10, 10, "TestDruck", strlen("Drucker")); // Jetzt könnte man noch DIBs (Bilder) oder sonstwas reinkopieren, wird alles gedruckt // Alles wird als fertig abgeschlossen EndPage(pd.hDC); //Bei mehreren Seiten muß StartPage()/EndPage() mehrfach aufgerufen werden EndDoc(pd.hDC); DeleteDC(pd.hDC);
11. Juni 200124 j @Crush1 nimm doch den print befehl aus alten dos zeiten. int main () { system ("print datei.txt"); }
18. Juni 200124 j Hi Leute, das mit dem DOS - Befehl klappt nicht so recht. Ich bekomme zwar die Meldung :"... Datei wird gedruckt ...", aber es passiert gaaaar nichts. Der Pfad wird korrekt angegeben, aber ..... Also nächster Versuch meinerseits. Die ausführliche Variante habe ich noch nicht ausprobiert, ich muss erst noch eine Menge nachlesen. Ciao, Jester
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.