Drucken (Anzahl der Kopien festlegen)



  • Hallo zusammen,

    Habe folgendes Problem. Wenn ich die Anzahl der Kopien im voraus festlegen möchte, wird diese nicht ins Dialogfeld "Drucken" übernommen. Es wird auch nur eine Seite gedruckt.

    pInfo -> m_pPD -> m_pd.nCopies= 2;
    

    Ich finde auch nicht die Variable "nCopies" in meinem Code.

    struct CPrintInfo // Printing information structure
    {
    	CPrintInfo();
    	~CPrintInfo();
    
    	CPrintDialog* m_pPD;     // pointer to print dialog
    
    	BOOL m_bDocObject;       // TRUE if printing by IPrint interface
    	BOOL m_bPreview;         // TRUE if in preview mode
    	BOOL m_bDirect;          // TRUE if bypassing Print Dialog
    	BOOL m_bContinuePrinting;// set to FALSE to prematurely end printing
    	UINT m_nCurPage;         // Current page
    	UINT m_nNumPreviewPages; // Desired number of preview pages
    	CString m_strPageDesc;   // Format string for page number display
    	LPVOID m_lpUserData;     // pointer to user created struct
    	CRect m_rectDraw;        // rectangle defining current usable page area
    	int m_nJobNumber;			 // job number (after StartDoc)
    
    	// these only valid if m_bDocObject
    	UINT m_nOffsetPage;      // offset of first page in combined IPrint job
    	DWORD m_dwFlags;         // flags passed to IPrint::Print
    
    	void SetMinPage(UINT nMinPage);
    	void SetMaxPage(UINT nMaxPage);
    	UINT GetMinPage() const;
    	UINT GetMaxPage() const;
    	UINT GetFromPage() const;
    	UINT GetToPage() const;
    	UINT GetOffsetPage() const;
    };
    

    Laut Fachbuch müsste das aber ganz einfach zu machen sein.
    Keine Fehlermeldungen im Compiler, aber es geht halt nicht.

    Hoffe es kann mir jemand weiterhelfen.


  • Mod

    Siehe MSDN CPrintDialog::PrintCollate
    http://msdn.microsoft.com/de-de/library/tzcfhk5x(VS.80).aspx



  • Bringt mich nicht viel weiter, da ich noch nicht den vollen Durchblick habe.

    Ich müsste in "OnPreparePrinting(CPrintInfo* pInfo)"
    die Änderungen vornehmen.

    Wenn ich "Sortieren" auf TRUE setze, müsste meine Vorgabe übernommen werden?
    Weiß aber nicht wie ich das anstellen soll.


Anmelden zum Antworten