Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CMenu в CPropertyPage


Автор: fanofzerg 20.2.2008, 10:59
Вопрос такой, я создал CPropertySheet, потом CPropertyPage, и захотел в отдельную вкладку вставить меню. Когда я меню загружаю в CPropertySheet, всё нормально работает, он загружает общее меню для всех страниц из ресурсов. А отдельно в странице мне неудаётся загрузить или создать Меню. Заранее благодарствую. smile 

Автор: Rapalex 20.2.2008, 11:50
Попробуй ресурсу страницы указать меню. (в редакторе ресурсов)

Автор: fanofzerg 20.2.2008, 12:24
В том и дело что в редакторе ресурсов страницы я указываю меню. Всё равно ничего не происходит, ошибок нет, просто нету. Пробую загрузить в ручную. происходит тоже самое.
Код

//Page.h
...
CMenu m_NewMenu;
...
//Page.cpp
...
BOOL CPage::OnInitDialog()
{
    CDialog::OnInitDialog();
    m_NewMenu.LoadMenuW(IDR_MENU1);
    SetMenu(&m_NewMenu);
    
    return FALSE;
}
...

Автор: Earnest 20.2.2008, 18:28
Дело в том, что меню можно прицепить только к popup-окну. А страница - это child. Не бывает своего меню у child-окон.
Кроме того, тебе ведь не надо, чтобы одновременно были несколько меню, а только то, которое соответствует активной странице? Т.е. меню одно, и оно должно быть на propertySheet, но соответствовать активной странице. Ну и устанавливай его (на PropertySheet!) при переключении страницы. Только подключить меню к странице в редакторе ресурсов все равно не получится - см. выше. Эту связь придется ручками организовать.

Автор: fanofzerg 20.2.2008, 19:30
Большое спасибо, теперь всё стало ясно! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)