auf gesicherten Bildschirminhalt schreiben



  • Hallo Leute,

    ich möchte, wenn ich bei gedrückter Maustaste diese über den Bildschirm bewege, auf den Bildschirm zeichen, ohne andere Objekte zu überschreiben.
    Ich wollte dazu den Bildchirminhalt in ein Bitmap sichern, einen MemoryDC erstellen, das Bitmap dort reinschreibe, auf den MemoryDC "malen" und diesen danach in den pDC kopieren.
    Leider klappt das irgendwie nich! Was mache ich verkehrt, oder gibt es einen anderen Ansatz

    CDC *pDC=GetDC();
    			CPen mypen;
    			CDC memDC;
    			if (!memDC.CreateCompatibleDC(pDC))
    				MessageBox(TEXT("Fehler"));
    			mypen.CreatePen(PS_SOLID,2,RGB(200,200,200));
    			CBitmap *bitmap=new CBitmap;
    			if(!bitmap->CreateCompatibleBitmap(pDC,Rect.right,Rect.bottom))
    				MessageBox(TEXT("Fehler"));
    			memDC.SelectObject(bitmap);
    			memDC.SelectObject(&mypen);
    			memDC.LineTo(point);
    			pDC->BitBlt(0,0,Rect.right,Rect.bottom,&memDC,0,0,SRCCOPY);
    			delete bitmap;
    

    Mit diesem Code male ich auf einen schwarzen Bildschirm, obwohl dort eine grünes Fußballfeld dargestellt ist.


  • Mod

    Auf den ganzen Bildschirm?

    Du könntest einfach ein durchsichtiges Fenster über alle Fenster legen und in diesem Malen. Das wäre weitaus einfacher. Dann würde Windows alles machen wenn dieses Fenster dann verschwindet und vor allem könnten die anderen Fenster darunter sich weiter verändern, z.b. Nachrichten anzeigen etc.


Anmelden zum Antworten