Something went wrong. Try again.
Reactos
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
#include "precomp.h"
START_TEST(DestroyCursorIcon){ HICON hicon; HCURSOR hcursor; ICONINFO iconinfo;
ZeroMemory(&iconinfo, sizeof(iconinfo));
iconinfo.hbmMask = CreateBitmap(8, 16, 1, 1, NULL); ok(iconinfo.hbmMask != NULL, "\n");
/* * Test if DestroyCursor can destroy an icon, and vice-versa . * It can. */ iconinfo.fIcon = TRUE; hicon = CreateIconIndirect(&iconinfo); ok(hicon != 0, "should not fail\n"); ok(DestroyCursor(hicon), "\n"); ok(!DestroyIcon(hicon), "\n");
iconinfo.fIcon = FALSE; hcursor = CreateIconIndirect(&iconinfo); ok(hcursor != 0, "should not fail\n"); ok(DestroyIcon(hcursor), "\n"); ok(!DestroyCursor(hcursor), "\n");
/* Clean up */ DeleteObject(iconinfo.hbmMask);
/* Now check its behaviour regarding Shared icons/cursors */ hcursor = LoadCursor(GetModuleHandle(NULL), "TESTCURSOR"); ok(hcursor != 0, "\n");
/* MSDN says we shouldn't do that, but it still succeeds */ ok(DestroyCursor(hcursor), "\n");
/* In fact, it's still there */ ZeroMemory(&iconinfo, sizeof(iconinfo)); ok(GetIconInfo(hcursor, &iconinfo), "\n"); ok(iconinfo.hbmMask != NULL, "\n"); ok(iconinfo.hbmColor != NULL, "\n"); ok(!iconinfo.fIcon, "\n");
/* clean up */ DeleteObject(iconinfo.hbmMask); DeleteObject(iconinfo.hbmColor);}