When I enable previously disabled/grayed menu item (I mean an item in the MAIN MENU BAR only) by calling EnableMenuItem, it will be still grayed, though enabled! Windows won't PAINT IT BLACK! I can force Windows to repaint the main menu bar by SetMenu(GetMenu(hwnd)) . Does anybody know a better solution?