Fehler bei SelectObject()



  • Hallo

    meine Druckausgabe funktioniert nicht.

    Der kommt mir ständig mit der Fehlermeldung, dass SelectObject nicht ausgeführt wurde

    hier der gemaste druckcode

    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_LOGO) == 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();
    	}
    

    Wenn ich

    [cpp]
    SelectObejct(&)
    [/cpp]

    mache, macht er es aber auch nicht

    ich weiß nicht, woran es liegt


Anmelden zum Antworten