Drucken ohne Druckdialog (VC++ 6.0)



  • Hallo!

    Ich möchte drucken, ohne daß der Druckdialog bestätigt werden muß - also am besten, ohne daß dieser aufgerufen wird und habe es probiert, wie folgt:

    PrintDlg.m_pd.hDevNames = NULL;

    // if (PrintDlg.DoModal() != IDOK)
    // {
    // return;
    // }

    PrinterDC.Attach(PrintDlg.CreatePrinterDC());

    lPageWidth = ::MulDiv(PrinterDC.GetDeviceCaps(PHYSICALWIDTH),
    1440, PrinterDC.GetDeviceCaps(LOGPIXELSX)); <== Assertion, weil m_hAttribDC == NULL
    ......

    An dieser "<==" Stelle bekomme ich eine Assertion, weil m_hAttribDC == NULL

    --------
    (
    _AFXWIN_INLINE int CDC::GetDeviceCaps(int nIndex) const
    { ASSERT(m_hAttribDC != NULL); return ::GetDeviceCaps(m_hAttribDC, nIndex); }

    m_hAttribDC... unused CXX0030: Fehler: Ausdruck kann nicht ausgewertet werden
    )
    --------

    Wo und wie kann ich m_hAttribDC auf WAS setzen?

    Weiß jemand, wie es funktioniert?

    Vielen Dank im voraus!!



  • Versuch mal anstelle des

    // if (PrintDlg.DoModal() != IDOK) 
    // { 
    // return; 
    // }
    

    folgenden Code:

    PrintDlg.GetDefaults();
    


  • Hallo Chris!

    Funktioniert wunderbar! Vielen Dank!!


Anmelden zum Antworten