?
Das Feld pDoc->felder[k][j] und clientRect besitzen gültige Werte.
Wenn ich den Button zum Drucken bestätige, meldet die MFC Debug Assertation Failed bei der wingdi (bzw. afxwin).
Wann ist an den nachfolgenden Code eigentlich falsch?
void CKreuzungView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
CKreuzungDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CBrush* brush;
brush=new CBrush(RGB(255,255,255));
CDC * memDC;
memDC= new CDC();
CBrush* oldBrush = memoryDC->SelectObject(brush);
memDC->SelectObject(oldBrush);
CDC tmp_dcMemory;
tmp_dcMemory.CreateCompatibleDC(pDC);
/*
Fehler
wingdi.cpp
afxwin
*/
if(pDoc->hv_karte_fertig==1)
{
PrintPageHeader(pDC);
PrintPageFooter(pDC);
for(int k=1;k<=pDoc->hoehe;k++)
for(int j=1;j<=pDoc->breite;j++)
{
memDC->Rectangle(pDoc->felder[k][j]->block_rechteck);
tmp_dcMemory.SelectObject(pDoc->felder[k][j]->block_bild);
memDC->StretchBlt(pDoc->felder[k][j]->block_rechteck.left,pDoc->felder[k][j]->block_rechteck.top,50*(pDoc->zoom),50*(pDoc->zoom),&tmp_dcMemory,0,0,50,50,SRCCOPY);
}
pDC->StretchBlt(0,0,clientRect.Width(), clientRect.Height(),memDC,0,0,clientRect.Width(), clientRect.Height(),SRCCOPY);
}
delete bitmap_neu;
delete brush;
delete memDC;