Jester Geschrieben 8. Juni 2001 Geschrieben 8. Juni 2001 Wie erteile ich aus einem Programm heraus einen Druckauftrag einer bestimmten Textdatei ?
Crush1 Geschrieben 8. Juni 2001 Geschrieben 8. Juni 2001 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.
Crush1 Geschrieben 8. Juni 2001 Geschrieben 8. Juni 2001 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);
Jester Geschrieben 10. Juni 2001 Autor Geschrieben 10. Juni 2001 Hi Crush1, danke fĂŒr den Tip, das werde ich gleich mal versuchen !! GruĂ Jester
maddin Geschrieben 11. Juni 2001 Geschrieben 11. Juni 2001 @Crush1 nimm doch den print befehl aus alten dos zeiten. int main () { system ("print datei.txt"); }
Crush1 Geschrieben 11. Juni 2001 Geschrieben 11. Juni 2001 Das erzeugt aber keinen "echten" Druckauftrag. Versuch das mal bei Win2k.
Jester Geschrieben 18. Juni 2001 Autor Geschrieben 18. Juni 2001 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
Empfohlene BeitrÀge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden