Ниже находится окно WS_POPUP
, его процедура всегда возвращает HTCLIENT
при WM_NCHITTEST
. Курсор превращается в ожидающий (синий диск) всякий раз, когда он входит в окно. Этого не происходит, когда я возвращаю HTNOWHERE
для примера.
#define UNICODE
#include <windows.h>
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT uMsg, WPARAM wp, LPARAM lp){
switch(uMsg){
case WM_NCHITTEST: return HTCLIENT;
default: return DefWindowProc(hWnd, uMsg, wp, lp);
}
}
int main(void){
WNDCLASSEX wcx = {};
wcx.cbSize = sizeof(WNDCLASSEX);
wcx.lpfnWndProc = WindowProcedure;
wcx.hbrBackground = CreateSolidBrush(RGB(0, 0, 0));
wcx.lpszClassName = L"Win32Class";
RegisterClassEx(&wcx);
HWND hWnd = CreateWindowEx(WS_EX_APPWINDOW, wcx.lpszClassName, L"Title",
WS_POPUP, 150, 150, 512, 256, NULL, NULL, NULL, NULL);
ShowWindow(hWnd, 1);
MSG msg; while(GetMessage(&msg, NULL, 0, 0)){
DispatchMessage(&msg);
}
}