Yes, this is similar to a lot of posts, but none seem to fit. I have been doing this for decades, so I think I am missing some Windows 11 thing. Or, (most likely) I have simply forgotten how to Create Windows as it is not a common thing on large projects (you do it once and forget it). I have not overriden WM_SETCURSOR.
Anyone know why we need a WS_EX_OVERLAPPEDWINDOW and a WS_OVERLAPPEDWINDOW? Other than CreateWindow is obsolete and CreateWindowEx is recommended?
Relevant code...
ATOM RegisterWndClassPrimary(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
wcex.lpfnWndProc = WndProcPrimary;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(NULL, MAKEINTRESOURCE(IDI_RCAMSENSOR));
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = CreateSolidBrush(COLOR_GREY_WINDOW);
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_RCAMSENSOR);
wcex.lpszClassName = TEXT(SZ_WND_CLASS_PRIMARY);
wcex.hIconSm = LoadIcon(NULL, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassEx(&wcex);
}
RegisterWndClassPrimary(hInstance);
hWnd = CreateWindowEx(
WS_EX_OVERLAPPEDWINDOW,
TEXT(SZ_WND_CLASS_PRIMARY),
L"",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
g_hInst,
NULL);
Instead of nuking this, maybe someone can benefit from my misfortune...
DON'T Override WM_NCMOUSEMOVE
In all my ministrations to fix this I had tried that and left the code in (sound familiar).
All is well now.