Mam funkcję do której przesylam bitmapę newBitmap i w srodku tej funkcji chcę zrobić kopię tej bitmapy. Problem w tym ,że przesyłam różne bitmapy ,a uchwyt zrobionej kopii zawsze jest ten sam! Nie wiem co jest w tym kodzie nie w porządku ,próbuję to rozgryźć już dwie godziny.
HDC hdcNew2 = CreateCompatibleDC( hdcOkno );
std::cout<<"New bitmap"<< newBitmap <<"\n";
HBITMAP hbmOld =( HBITMAP ) SelectObject( hdcNew2, newBitmap );
DeleteObject(hbmOld);
BITMAP bmInfo;
GetObject( newBitmap, sizeof( bmInfo ), & bmInfo );
HDC hdcToCopy = CreateCompatibleDC( hdcOkno );
HBITMAP EmptyBmp = CreateCompatibleBitmap ( hdcOkno, bmInfo.bmWidth, bmInfo.bmHeight );
HBITMAP hbmOld2 =( HBITMAP ) SelectObject( hdcNew2, EmptyBmp );
if (! BitBlt( hdcToCopy, 0, 0, bmInfo.bmWidth, bmInfo.bmHeight, hdcNew2, 0, 0, SRCCOPY ) )
{
std::cout<<"Copying failed\n";
}
HBITMAP newBitmapCopy =( HBITMAP ) SelectObject( hdcToCopy, hbmOld2 );
DeleteDC( hdcNew2 );
DeleteDC( hdcToCopy );
std::cout<<"Copy of bitmap"<< newBitmapCopy <<"\n";