Problem mit Drucken
-
Hallo MFC-Gemeinde!
Habe ein Problem mit dem Drucken. Aus dem Buch Visual C++ 6 in 21 Tagen wird beschrieben wie man eine Druckauftrag aus einem Dialog (mit IDOK über OnOK) starten kann.
Das bekomme ich auch so hin, aber sobald ich meinen eigenen Button (zB.: IDC_DRUCKEN über OnPrint)verwende springt er nichtmal in die erste if-Anweisung:
Was ist das los? Geht das nur mit IDOK?Danke für eure Hilfe
GeStro
void CPrinterDlg::OnOk()
{
CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this);if(dlgPrint.DoModal()==IDOK)
{
CDC dcPrint;
dcPrint.Attach(dlgPrint.GetPrinterDC());
DOCINFO myPrintJob;
myPrintJob.cbSize = sizeof(myPrintJob);
myPrintJob.lpszDocName = "MeinDruckAuftrag";
myPrintJob.lpszOutput = NULL;
myPrintJob.lpszDatatype = NULL;
myPrintJob.fwType = NULL;if(dcPrint.StartDoc(&myPrintJob)>0)
{
dcPrint.StartPage();
dcPrint.TextOut(0,0,"Mein kleiner Druckauftrag");
dcPrint.EndPage();
dcPrint.EndDoc();
}dcPrint.DeleteDC();
}CDialog::OnOK();
}
Funktioniert so ganz gut - meine Version:void CPrinterDlg::OnPrint()
{
CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this);if(dlgPrint.DoModal()==IDC_PRINT)
{
CDC dcPrint;
dcPrint.Attach(dlgPrint.GetPrinterDC());
DOCINFO myPrintJob;
myPrintJob.cbSize = sizeof(myPrintJob);
myPrintJob.lpszDocName = "MeinDruckAuftrag";
myPrintJob.lpszOutput = NULL;
myPrintJob.lpszDatatype = NULL;
myPrintJob.fwType = NULL;if(dcPrint.StartDoc(&myPrintJob)>0)
{
dcPrint.StartPage();
dcPrint.TextOut(0,0,"Mein kleiner Druckauftrag");
dcPrint.EndPage();
dcPrint.EndDoc();
}dcPrint.DeleteDC();
}//CDialog::OnPaint();
CDialog::OnOK();}
-
if(dlgPrint.DoModal()==IDC_PRINT)
Haste mal in die MSDN geschaut, welche Werte DoModal() zurückgibt?