?
ich habs, tschuldige Jochen, war nicht böse gemeint.
wen es interessiert:
bool CGThread::screenshot(CDC * pCDC, CRect r, CBitmap * pbmp)
{
pbmp->CreateCompatibleBitmap(pCDC,r.right-r.left,r.bottom-r.top);
CDC memDC;
memDC.CreateCompatibleDC(pCDC);
CBitmap * pold= memDC.SelectObject(pbmp);
memDC.BitBlt(0,0,r.right-r.left,r.bottom-r.top,pCDC,r.left,r.top,SRCCOPY);
memDC.SelectObject(pold);
memDC.DeleteDC();
return true;
}
Das CBitmap-Objekt dessen Adresse übergeben wird darf vorher noch nicht init. sein, mehrmals Create... geht natürlich nich.
Nach Aufruf der Methode ist hier das Ergebnis drin.
Mit CRect r den Bildschirmausschnitt angeben der gewünscht wird.
und CDC * ist ,was sonst, der Zeiger auf das CDC des Fensterinhalt man haben möcht.