[EXPLORER] -Use WM_POPUPSYSTEMMENU to open the system menu of a window. CORE-13400
[reactos.git] / rostests / apitests / user32 / DrawIconEx.c
1
2 #include <apitest.h>
3
4 #include <wingdi.h>
5 #include <winuser.h>
6
7 START_TEST(DrawIconEx)
8 {
9 HCURSOR hcursor;
10 HBITMAP hbmp;
11 ICONINFO ii;
12 HDC hdcScreen, hdc;
13 BOOL ret;
14 HBRUSH hbrush;
15
16 ZeroMemory(&ii, sizeof(ii));
17
18 ii.hbmMask = CreateBitmap(8, 16, 1, 1, NULL);
19 ok(ii.hbmMask != NULL, "\n");
20 hcursor = CreateIconIndirect(&ii);
21 ok(hcursor != NULL, "\n");
22 DeleteObject(ii.hbmMask);
23
24 hdcScreen = GetDC(0);
25 hbmp = CreateCompatibleBitmap(hdcScreen, 8, 8);
26 ok(hbmp != NULL, "\n");
27 hdc = CreateCompatibleDC(hdcScreen);
28 ok(hdc != NULL, "\n");
29 ReleaseDC(0, hdcScreen);
30
31 hbmp = SelectObject(hdc, hbmp);
32 ok(hbmp != NULL, "\n");
33
34 hbrush = GetStockObject(DKGRAY_BRUSH);
35 ok(hbrush != NULL, "\n");
36
37 ret = DrawIconEx(hdc, 0, 0, hcursor, 8, 8, 0, hbrush, DI_NORMAL);
38 ok(ret, "\n");
39 DestroyCursor(hcursor);
40
41 /* Try with color */
42 ii.hbmMask = CreateBitmap(8, 8, 1, 1, NULL);
43 ok(ii.hbmMask != NULL, "\n");
44 ii.hbmColor = CreateBitmap(8, 8, 16, 1, NULL);
45 ok(ii.hbmColor != NULL, "\n");
46 hcursor = CreateIconIndirect(&ii);
47 ok(hcursor != NULL, "\n");
48 DeleteObject(ii.hbmMask);
49 DeleteObject(ii.hbmColor);
50
51 ret = DrawIconEx(hdc, 0, 0, hcursor, 8, 8, 0, hbrush, DI_NORMAL);
52 ok(ret, "\n");
53 DestroyCursor(hcursor);
54
55 hbmp = SelectObject(hdc, hbmp);
56 DeleteObject(hbmp);
57 DeleteDC(hdc);
58 }