Re: ::LoadMenu() и GetMenu()
От: Patalog Россия  
Дата: 09.07.03 13:54
Оценка: 2 (1)
Здравствуйте, 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
Почетный кавалер ордена Совка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.