i'm trying use the WM_MENUSELECT message for get mouse leave and mouse enter.
for mouse enter i use: if(((HIWORD(wParam) & MF_HILITE) || (HIWORD(wParam) & MF_MOUSESELECT)) && GetMenuState((HMENU)lParam,LOWORD(wParam),MF_BYCOMMAND)!=0xFFFFFFFF)
these code works fine.
but see these code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
if(((HIWORD(wParam) & MF_HILITE) || (HIWORD(wParam) & MF_MOUSESELECT)) && GetMenuState((HMENU)lParam,LOWORD(wParam),MF_BYCOMMAND)!=0xFFFFFFFF)
{
//without the before 'if' the next code works, else is ignored :(
//Mouse Enter
Last_Menu_ID = LOWORD(wParam);
MENUITEMINFO menuInfo;
menuInfo.cbSize = sizeof(MENUITEMINFO);
menuInfo.fMask=MIIM_DATA;
GetMenuItemInfo((HMENU)lParam,Last_Menu_ID, FALSE, &menuInfo );
Menu *mMenu = (Menu *) menuInfo.dwItemData;
if (mMenu!=NULL)
{
mMenu->Enter();
}
}
the mouse enter is done without a problem.
now i added these 'if':