Invalidate();
}
1.5. Добавим в метод OnDraw() код для вывода строки:
void CMenusView::OnDraw(CDC* pDC) { CMenusDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);
pDC->TextOut(0, 0, pDoc->StringData); }
Запустите программу, результат ее работы показан на рис. 4.
Рис. 4
Разобравшись с основами, попробуем создать новое меню, заблокировать его команды, добавим в программу подменю, клавиши ускоренного вызова, организуем вызов справочной информации в строке состояния, научимся определять акселераторы.
1.6. Создадим при помощи AppWizard SDI-программу с именем fullmenus. Откройте ее ресурс меню, IDR_MAINFRAME, в редакторе меню (рис. 5).
Рис. 5 Начнем с добавления меню Demo. Оно должно располагаться между меню File и Edit. Выделим меню Edit в редакторе и нажмем клавишу Insert. В строке появится новое меню, дважды щелкним на нем и присвоим ему имя Demo в окне Menu Item Properties. В строке появится меню Demo (рис. 5).
1.7. Теперь мы должны добавить в меню Demo команды. Редактор меню уже включил в него пустую команду – щелкните на ней и дайте ей имя Grayed (рис. 6).
Рис. 6
Редактор автоматически присваивает ей идентификатор ID_DEMO_GRAYED. Эта команда будет заблокированной, то есть недоступной для пользователя. Аналогичным образом добавьте команды Checked и Submenus. Достаточно дать командам эти имена, и редактор меню автоматически присвоит им нужные идентификаторы.
|