Здравствуйте, gugle, Вы писали:
[]
G>
G>...
G> // TODO: Add your command handler code here
G> //HMENU hMenu = ::GetMenu(m_hWnd) // ::1
G> HMENU hMenu = ::LoadMenu(theApp.m_hInstance, MAKEINTRESOURCE(IDR_MENU1)); //здесь не ноль
G> HMENU hPopup = ::GetSubMenu(hMenu, 0); //здесь тоже не ноль
G> UINT uCheck = ::GetMenuState(hPopup, ID_MMENU_MM1, 0); //всегда=0
G> if( uCheck & MF_CHECKED )
G> ::CheckMenuItem( hPopup, ID_MMENU_MM1, MF_UNCHECKED );
G> else
G> ::CheckMenuItem( hPopup, ID_MMENU_MM1, MF_CHECKED );
G>...
G>
G>Причем, если запихнуть Popup Menu в главное, и убрать комментарий с ::1 да поставить коммент. на строку ниже, то все ОК!
Хм, а чего же ты хотел то?
LoadMenu на то дана, чтобы загрузить "новое" меню, т.е. HMENU который она тебе вернула, никоим образом не относиться к тому меню,
которое уже есть у окна (GetMenu) и соответ. "//всегда=0".
Думается тебе поможет
EnumThreadWindows + GetMenu