1. Изучить методические указания.
2. Включить компьютер, создать и сохранить на диске в рабочем каталоге новый проект.
3. Проделать упражнения 1¸3.
4. Проделать контрольный пример. Откомпилировать и запустить приложение. Протестировать приложение.
5. Выполнить свой вариант задания.
6. Оформить отчёт.
2. Дополнение приложения главным и всплывающим меню
Одним из основных элементов Windows-приложения является меню пользователя. Использование меню позволяет экономить место экрана, занимаемое формой приложения.
В С++ Builder за создание меню отвечают две компоненты MainMenu (главное меню) и PopupMenu (всплывающее меню) из закладки Standard. Обе компоненты являются невидимыми, т.е. Видны только в процессе проектирования.
При перемещении на форму компоненты MainMenu свойство формы Menu становится равным свойству Name компоненты MainMenu (MainMenu1 по умолчанию). Если необходимо использовать несколько меню необходимо обеспечить в программе изменение свойства Menu формы.
Основным свойством этой компоненты является свойство Items. Изменение свойства Items на этапе проектирования удобно изменять с помощью утилиты Конструктор Меню.
Вызов конструктора меню осуществляется или двойным щелчком мыши на значке компоненты MainMenu на форме или на многоточии рядом со свойством Items в инспекторе объектов. В результате откроется окно конструктора меню.
Новые разделы в конструкторе меню вводятся щелчком мыши в рамке из точек, где должен помещаться новый раздел (рис. 1). При ошибочном вводе раздел можно перетащить мышью в нужное место.
Для создания подразделов к любому разделу меню необходимо щёлкнуть левой клавишей мыши в области раздела и выбрать из появившегося контекстного меню пункт C reate Submenu, после чего добавление подразделов осуществляется аналогично добавлению разделов.
![]() |
Рис. 1
Все разделы и подразделы меню являются объектами типа TMenuItem и обладают следующими свойствами:
Caption – отвечает за название раздела (тип AnsiString);
Name – имя объекта (по умолчанию N1, N2 и т.д., однако рекомендуется использовать смысловые имена, например, MenuExit, MenuOpen и т.д.)
ShortCut – определяет клавиши быстрого доступа(“горячие” клавиши) к разделу меню, с помощью которых пользователь может вызвать раздел меню, не входя в него. Устанавливается в инспекторе объектов выбором соответствующей комбинации клавиш в свойстве ShortCut.
Checked – при установке этого свойства в true напртив раздела будет установлен флажок, указывая, что этот раздел выбран. Чтобы изменять свойство при нажатии на пункт меню, в обработчик события OnClick необходимо вставить оператор
MenuExit->Checked =! MenuExit->Checked;
Enabled, Visible – доступность и видимость раздела соответственно при установке этого свойства в true. В противном случае раздел выводится серым цветом и не реагирует на щелчки мышью (Enabled == false) или не отображается вообще (Visible == false).
OnClick – событие, наступающее при одинарном нажатии на раздел.
Упражнение1. “Дополнение приложения меню”
Дополним приложение для вывода строк (см. контрольный пример методических указаний Программирование стандартного интерфейса пользователя в среде Borland C++ Builder Часть 1) меню “File” с разделом “Выход”, осуществляющий закрытие приложения, и меню “Работа со строкой” с разделом “Вывод”, осуществляющий действия, аналогичные нажатию кнопки Button1.
![]() |
Для этого переместим на форму одну компоненту MainMenu и с помощью конструктора меню создадим соответствующие разделы (рис. 2).
Рис. 2
Установим свойства Name для разделов MenuExit и MenuStringExe.
Создадим обработчик события OnClick для раздела меню “Файл” “Выход” аналогично созданию обработчика события OnClick для компоненты Button. В теле функции обработчика введём следующий код:
Form1->Close();
Этот оператор обеспечивает закрытие главной формы и, следовательно, прекращение работы приложения.
Далее создадим обработчик события OnClick для раздела “Вывод”. Т.к. тело функции обработчика аналогично обработчику события OnClick компоненты Button1, то в целях компактности кода используем имеющийся обработчик события OnClick компоненты Button1. Для этого, выделив мышью раздел “Вывод” в режиме конструктора меню, необходимо открыть закладку Events инспектора объектов и напротив события OnClick выбрать из выпадающего списка обработчик Button1Click.
После этого необходимо запустить и протестировать приложение.








