Я не понимаю, почему это не работает. В сообщении WM_LBUTTONDOWN сохраняются координаты указателя. затем на WM_MOUSEMOVE, если левая кнопка нажата, я хочу, чтобы она нарисовала эллипс с исходными точками и новыми точками, где сейчас находится мышь. Но ничего не происходит, когда я отлаживаю. Вот мой WindowProc
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
switch (uMsg)
{
case WM_DESTROY:
{
DestroyWindow(hwnd);
PostQuitMessage(0);
break;
}
case WM_PAINT:
{
hdc = BeginPaint(hwnd, &ps);
EndPaint(hwnd, &ps);
break;
}
case WM_LBUTTONDOWN:
{
pnt.x = GET_X_LPARAM(lParam);
pnt.y = GET_Y_LPARAM(lParam);
break;
}
case WM_MOUSEMOVE:
{
if(wParam == MK_LBUTTON)
{
hdc = BeginPaint(hwnd, &ps);
Ellipse(hdc, pnt.x, pnt.y, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)); // nothing happens
EndPaint(hwnd, &ps);
}
break;
}
return 0;
}
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}