1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int x,y;
HDC hdc;
PAINTSTRUCT ps;
COLORREF color;
HDC hdc_mask;
switch (message)
{
case WM_CREATE:
hbmp_mask = (HBITMAP)LoadImage(NULL,".\\Images\\mask.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hbmp_background = (HBITMAP)LoadImage(NULL,".\\Images\\background.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hdc_mask = CreateCompatibleDC(NULL);
break;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
PrintBmp(hdc, hbmp_background); //affiche l'image passer en paramètre
EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
DeleteObject(hbmp_mask);
DeleteObject(hbmp_background);
ReleaseDC(hwnd, hdc_mask);
ReleaseDC(hwnd, hdc);
PostQuitMessage (0);
break;
case WM_LBUTTONDOWN:
x = LOWORD(lParam);
y = HIWORD(lParam);
SelectObject(hdc_mask, hbmp_mask);
color = GetPixel(hdc_mask, x, y);
if(color == RGB(255, 0, 0))
{
MessageBox(hwnd, "ça marche", "", 0);
}
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
} |
Partager