HDC in anderen HDC kopieren - wieso geht code nicht?
-
Hallo!
Wieso malt mir dieser Code einfach einen schwarzen Bereich auf meine Anwendung?HDC test; HBITMAP htest; BITMAP btest; CPaintDC dc(this); // device context for painting test = CreateCompatibleDC(dc); TextOut(test, 0, 0, "test", 20); htest = CreateCompatibleBitmap(test, GetDeviceCaps(test, HORZRES), GetDeviceCaps(test, VERTRES)); SelectObject(test, htest); GetObject(htest, sizeof(BITMAP), &btest); BitBlt(dc, 0, 0, btest.bmWidth, btest.bmHeight, test, 0, 0, SRCCOPY);Danke!
-
Hi!
Ich hab den Code in eine Dialogbasierende Anwendung eingebaut aber bei mir ist überhaupt nichts passiert.
-
Probiere mal so:
CRect Rect; GetClientRect(Rect); CPaintDC* pDC = new CPaintDC(this); CDC MemDC; MemDC.CreateCompatibleDC(pDC); CBitmap Bitmap; Bitmap.CreateCompatibleBitmap(pDC,Rect.Width(),Rect.Height()); MemDC.SelectObject(&Bitmap), MemDC.BitBlt(Rect.left,Rect.top,Rect.right,Rect.bottom,pDC,0,0,SRCCOPY); MemDC.TextOut(5,5,CString("Hello World!")), pDC->BitBlt(Rect.left,Rect.top,Rect.right,Rect.bottom,&MemDC,0,0,SRCCOPY); MemDC.DeleteDC(), Bitmap.DeleteObject(); delete pDC;