ok !! vi giro il codice !!!



Questo è il codice del file rsrc.rc che contiene i collegamenti delle bitmap

...
BALLBMP BITMAP "c:/prova/ball.bmp"
MASKBMP BITMAP "c:/prova/ballmask.bmp"
500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "Mainicon.ico"
...




Questa è la porzione di codice che richiama la bitmap

//main.c

#include <windows.h>
#pragma hdrstop


....

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch(Message)
{
case WM_CREATE:
hbmBall = LoadBitmap(g_hInst, "BALLBMP");
hbmMask = LoadBitmap(g_hInst, "MASKBMP");
if(!hbmBall || !hbmMask){
MessageBox(hwnd, "Load of resources failed.", "Error",
MB_OK | MB_ICONEXCLAMATION);
return -1;
}

GetObject(hbmBall, sizeof(bm), &bm);
SetTimer(hwnd, idTimer1, nTimerDelay, NULL);

ballX = 0;
ballY = 0;
deltaX = deltaValue;
deltaY = deltaValue;

break;
case WM_TIMER:
if(hbmBall && hbmMask)
{
HDC hdcWindow;
hdcWindow = GetDC(hwnd);

EraseBall(hdcWindow);
UpdateBall(hwnd);
DrawBall(hdcWindow);

ReleaseDC(hwnd, hdcWindow);
}
break;
case WM_PAINT:
if(hbmBall && hbmMask)
{
PAINTSTRUCT ps;
HDC hdcWindow;
hdcWindow = BeginPaint(hwnd, &ps);

DrawBall(hdcWindow);

EndPaint(hwnd, &ps);
}
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
KillTimer(hwnd, idTimer1);

DeleteObject(hbmBall);
DeleteObject(hbmMask);
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, Message, wParam, lParam);
}
return 0;
}

....