Drucken-Dialog



  • Habe ein problem mit dem Drucken, oder besser mit dem Druckfenster.
    derzeit sieht mein Code so aus

    // Ausdruck des Dokuments starten
                    if(dcPrint.StartDoc(&myPrintJob) >= 0)
                    {
                        //Eine Seite beginnen
                        dcPrint.StartPage();
    
                        //Platzbedarf der längsten Zeile ermitteln
                        CSize Groesse = dcPrint.GetTextExtent(sMaxLength);
    
                        //Rechteck erstellen
                        //Maximale Zeilenlänge steht in Groesse.cx
                        //Maximale Dokumentlänge ist Groesse einer Zeile mal
                        //Anzahl der Zeilen (Groesse.cy*iZeilen)
                        CRect SeiteGroesse(50,200,Groesse.cx+50,Groesse.cy*iZeilen+200);
    

    Jetzt ist für mich nurnoch interessant wie ich diesen Dialog umgehe, damit automatisch gedruckt wird.

    Sprich: Ich drücke In meiner Anwendung auf DRUCKEN und ohne weitere Nachfrage wird gedruckt.

    Wie geht das?



  • Da gibt es zwei Möglichkeiten:

    1.) Du gaukelst dem vor, dass du eine Druckvorschau willst.
    2.) Du holst dir die Standardwerte vom Dialog:

    // Druckdialog anlegen aber nicht aufrufen
    	CPrintDialog dlg(FALSE); 
    	dlg.GetDefaults();
    
    	// DC anlegen
    	dc.Attach(dlg.GetPrinterDC());
    

    Okay? 🙂



  • Hat dir schonmal jemand gesagt, das du gut bist?

    Kann sein, das ich das nur so sehe, weil ich noch nicht so viel kann, aber lassen wir das mal so stehen.

    Du hast schon so oft geholfen. Danke, und weiter so.
    Du bist verdammt gut 😉

    PS Benutze die zweite Variante.



  • Dankeschön 🙂

    Für die zweite Version hatte ich deswegen Quelltext zur Hand, weil ich das aus meinem Programm rauskopiert habe. 😃

    Das andere ist nur nützlich, wenn man über das Framework druckt (also mit OnPreparePrinting und so).


Anmelden zum Antworten