Ho due callback per WM_MOVE e WM_MOVING. Stranamente, WM_MOVE viene chiamato mentre si trascina la finestra. Mi aspettavo che WM_MOVE venisse chiamato solo quando ho finito di trascinare la finestra.
MSDN dice che WM_MOVE viene inviato dopo che una finestra viene spostata e WM_MOVING è quando la finestra si sta spostando. I documenti non mostrano alcun cambiamento per Windows 7 / VS2010, che è quello che sto usando.
WM_MOVE: link
Qualcuno l'ha mai visto prima? Durante il trascinamento, viene chiamato WM_MOVE, che non dovrebbe essere il più comprensibile.
case WM_MOVE:
{
int x = LOWORD(lParam);
int y = HIWORD(lParam);
if (win.m_onMoveCallback)
win.m_onMoveCallback(x, y);
return 0;
}
break;
case WM_MOVING:
{
int x = LOWORD(lParam);
int y = HIWORD(lParam);
if (win.m_onMovingCallback)
win.m_onMovingCallback(x, y);
return 0;
}
break;