2. Дополнение приложения главным и всплывающим меню. Порядок выполнения работы

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.

После этого необходимо запустить и протестировать приложение.




double arrow
Сейчас читают про: