Теперь необходимо связать метод OnUpdateDemoChecked() с сообщением UPDATE_COMMAND_UI для команды Checked (выполните действия аналогичные пункту 1.13):
void CFullmenusView::OnUpdateDemoChecked(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
}
Чтобы установить пометку для команды Checked, сначала разблокируем ее методом Enable(), а затем вызовем метод SetCheck() объекта CCmdUI с аргументом 1 (аргумент 0 удаляет пометку):
void CFullmenusView::OnUpdateDemoChecked(CCmdUI* pCmdUI)
{
pCmdUI->Enable(true);
pCmdUI->SetCheck(1);
}
Теперь команда меню Checked будет отображаться с пометкой в виде «галочки».
Добавление кода для команд подменю
Чтобы добавить код для команды Sub Item 1 необходимо в ClassWizard создать для нее обработчик:
void CFullmenusView::OnDemoSubmenuSubitem1()
{
// TODO: Add your command handler code here
}
Включим в объект документ строковый объект StringData и, когда пользователь выполнит команду Sub Item 1, поместим в него следующий текст:
void CFullmenusView::OnDemoSubmenuSubitem1()
{
CFullmenusDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->StringData = "Выбрана команда Sub Item 1";
Invalidate();
}
Обработчик команды Sub Item 2 выглядит аналогично:
void CFullmenusView::OnDemoSubmenuSubitem2()
{
CFullmenusDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->StringData = " Выбрана команда Sub Item 2";
Invalidate();
}
Теперь в метод OnDraw() включим код для вывода текста.
После чего работа над программой будет завершена.