Du treibst mit dem GetDC() dein Windows ganschön in den Speichermangel. Zu jedem GetDC muss auch ein ReleaseDC vorhanden sein!
BitBlt() arbeitet nicht mit Bitmap-Handles, sondern nur mit Geräte Kontexten (
DC). Du musst einen Compatiblen
DC erzeugen:
Code:
[b]var[/b]
dc: HDC;
memDC: HDC;
oldBmp: HBITMAP;
[b]begin[/b]
dc := GetDC(hWnd);
[b]try[/b]
memDC := CreateCompatibleDC(
dc);
[b]try[/b]
oldBmp := SelectObject(memDC, hBmp); // Bitmap dem
DC zuweisen
BitBlt(
dc, 222 + i * 25, 0, 17, 23, memDC, 0, 0, SRCCOPY);
SelectObject(memDC, oldBmp);
[b]finally[/b]
DeleteDC(memDC);
[b]end[/b];
[b]finally[/b]
ReleaseDC(hWnd,
dc);
[b]end[/b];
[b]end[/b];