Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Problem mit Bitmap drucken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.11.2005, 12:19 Uhr
MSS-Software



Hallo.

Ich will hier ein Bitmap bei mir mit auf die Druckausgabe packen, aber bei SelectObejct kommt er mir immer mit einer Fehlermeldung zurück. Ich hab keine AHnung warum.

Hier der Code:


C++:
CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this);
    //dlgPrint.GetDefaults();
    if (dlgPrint.DoModal() == IDOK)
    {
        CDC pDC_print;
        // Den Drucker-DC vom Dialogfeld mit einem
        // CDC-Objekt verbinden
        pDC_print.Attach(dlgPrint.GetPrinterDC());

        // Eine DOCINFO-Struktur erzeugen und füllen
        DOCINFO myPrintJob;
        myPrintJob.cbSize = sizeof(myPrintJob);
        myPrintJob.lpszDocName = "MeinDruckAuftrag";
        myPrintJob.lpszOutput = NULL;
        myPrintJob.lpszDatatype = NULL;
        myPrintJob.fwType = NULL;
        pDC_print.SetMapMode(MM_LOMETRIC);

        if (pDC_print.StartDoc(&myPrintJob)>=0)
        {
            // Eine Seite beginnen
            pDC_print.StartPage();
    CBitmap bmp;
    if ( bmp.LoadBitmap(IDB_BITMAP1) == 0 )
        MessageBox("Fehler bei Laden",NULL,MB_OK);
    
    BITMAP bm;
    if ( bmp.GetBitmap(&bm) == NULL )
        MessageBox("Fehler2",NULL,MB_OK);
    CDC sdc;
    if ( sdc.CreateCompatibleDC(&pDC_print) == 0 )
        MessageBox("Fehler",NULL,MB_OK);
    if ( sdc.SelectObject(&bmp) == NULL )
        MessageBox("Fehler3",NULL,MB_OK);
    const int nBreite = (int)(bm.bmWidth * 1.5);
    const int nHoehe = (int)(bm.bmHeight * 1.5);
    if ( pDC_print.StretchBlt(pDC_print.GetWindowExt().cx - nBreite, 0, nBreite, -nHoehe, &sdc, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY) == 0 )
        MessageBox("Nicht gedruckt",NULL,MB_OK);


                        // Seite auswerfen
            pDC_print.EndPage();
            // Dokument schließen
            pDC_print.EndDoc();
        }
        // Druckergerätekontext löschen
        pDC_print.DeleteDC();
    }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: