Use a variable to track menu activation and set that variable in response to a WM_ENTERMENULOOP message and reset it in response to a WM_EXITMENULOOP message. By testing the menu state variable in response to a WM_MOUSEMOVE you can exclude any such messages that seem to be generated due to menu activation. Something like (for your wndproc):
Code:
static BOOL bMenuState;
switch (uMsg)
{
case WM_ENTERMENULOOP:
case WM_EXITMENULOOP:
bMenuState=!bMenuState;
return 0;
case WM_MOUSEMOVE:
if (bMenuState==FALSE)
{
/* do pong stuff */
}
return 0;
}