case WM_NCHITTEST: {
LRESULT hit = DefWindowProc( hWnd, uMsg, wParam, lParam );
if ( hit == HTCLIENT ) {
hit = HTCAPTION;
SendNotifyMessageA( hWnd, WM_MOUSEMOVE, NULL, MAKELPARAM( LOWORD(lParam), HIWORD(lParam) ) );
pts.x = pts.y = 0;
ClientToScreen( hWnd, &pts );
SendNotifyMessageA( hWnd, WM_EXITSIZEMOVE, NULL,NULL );
return hit;
} } break;
case WM_NCLBUTTONDOWN: { LMB_Dyn[h2] = true; } break;
Я использую этот код, когда пытаюсь переместить окно, щелкая в области клиента (в любом месте окна). Это отлично работает.
Но у меня есть проблема с правильным получением состояния левой кнопки мыши, и хотя этот код работает, проблема в том, что когда я делаю простой щелчок вместо «щелчка и перемещения», переменная LMB_Dyn
(левая кнопка мыши) имеет некоторые задержка (не сразу получаю уведомление, что я нажал кнопку мыши.
Как правильно получить состояние левой кнопки мыши при использовании WM_NCHITTEST
?