// Получаем указатель на текущее меню

 pMenu = this->GetMenu;

 // Связываем меню с объектом menuOld

 menuOld.Attach(pMenu->m_hMenu);

 // Удаляем меню

 menuOld.DestroyMenu;

 // Загружаем меню IDR_RESTRICT_MENU

 menuRestrict.LoadMenu(IDR_RESTRICT_MENU);

 // Устанавливаем загруженное меню

 SetMenu(&menuRestrict);

 // Разрываем связь меню с объектом menuRestrict

 menuRestrict.Detach;

}

//============================================================

// Метод OnFullMenu класса CMultiMenuWindow

// Изменяем меню приложения с IDR_RESTRICT_MENU на

// IDR_FULL_MENU

//============================================================

void CMultiMenuWindow::OnFullMenu {

 CMenu menuOld;

 CMenu menuRestrict;

 CMenu* pMenu;

 pMenu = this->GetMenu;

 menuOld.Attach(pMenu->m_hMenu);

 menuOld.DestroyMenu;

 menuRestrict.LoadMenu(IDR_FULL_MENU);

 SetMenu(&menuRestrict);

 menuRestrict.Detach;

}

//============================================================

// Метод OnCommand класса CMultiMenuWindow

//============================================================

void CMultiMenuWindow::OnCommand {

 MessageBox("Command not implemented");

}

//============================================================

// Метод OnConstruct класса CMultiMenuWindow

// Изменяем состояние флага bRadio

//============================================================

void CMultiMenuWindow::OnConstruct {

 // Меняем значение bRadio с TRUE на FALSE и наоборот

 bRadio = !bRadio;

}

//============================================================

// Метод OnExit класса CMultiMenuWindow

//============================================================

void CMultiMenuWindow::OnExit {

 // Завершаем приложение

 DestroyWindow;

 return;

}

//============================================================

// Метод OnUpdateProcess класса CMultiMenuWindow

//============================================================

void CMultiMenuWindow::OnUpdateProcess(CCmdUI* pCmdUI) {

 // Блокируем или разблокируем строку Process меню Mission

 pCmdUI->Enable(bEnable);

}

//============================================================

// Метод OnUpdateConstruct класса CMultiMenuWindow

//============================================================

void CMultiMenuWindow::OnUpdateConstruct(CCmdUI* pCmdUI) {

 // Устанавливаем или снимаем пометку

 // строки Construction меню Mission

 pCmdUI->SetRadio(bRadio);

}

//============================================================

// Метод OnUpdateDisable класса CMultiMenuWindow

//============================================================

void CMultiMenuWindow::OnUpdateDisable(CCmdUI* pCmdUI) {

Перейти на страницу:

Похожие книги