
- •Министерство образования и науки российской федерации
- •Основные операторы языка программирования
- •If (выражение) оператор1; else оператор2;
- •2. Определение и использование массивов
- •8. Рекомендуемая технология работы с проектом
- •9.1 Общие положения
- •9.2 Автоматический компонент tForm (форма)
- •9.4 Компонент tLabel
- •12. Преобразование типов
- •13. Организация ввода данных в приложениях Windows
- •13.1 Использование компонент с редактируемым полем
- •13.2 Использование специальных диалоговых окон
- •14. Примеры решения задач
- •14.1 Пример программирования итерационных задач
- •14.2 Пример решения задачи поиска в неупорядоченной последовательности
- •1)Вывод данных в файл
- •2) Ввод данных из файла
- •3) Обмен структурными объектами
- •14.6 Пример создания приложения в визуальной среде (калькулятор)
- •14.7 Пример создания приложения с размещением рисунков на форме
- •14.8 Пример создания приложения с основным и контекстным меню на форме
- •14.9 Создание многомодульного приложения. Вывод графических объектов
- •Визуальное программирование с использованием массивов
- •14.11 Визуальное программирование с использованием структур
- •4.1. Файл Unit1.H
- •4.2. Файл Unit1.Cpp
- •1) Определение элементов связанного списка
- •2) Удаление элемента х из списка
14.8 Пример создания приложения с основным и контекстным меню на форме
Цели: 1. Освоение технологии создания основного и контекстного меню.
2. Освоение методики работы с компонентами MainMenuиPopupMenu.
Задача: Составить основное и контекстное меню для отображения рисунков.
Последовательность выполнения:
Проверить наличие в директорий C:\Windows\ файлов рисунков: Волны. bmp, Клыки. bmp. (или переписать названия любых двух рисунков и путь к ним).
Открыть новый проект и сохранить его в новой папке.
Поместить на форму компоненту MainMenu (вкладка Standard) .
Запустить редактор меню, дважды щелкнув мышью (ДЩЛКМ) на значке меню.
Перейти на окно Инспектора объектов на вкладку Свойства и, используя свойство Caption, ввести название пункта меню «Файл». В конце нажать клавишу Enter.
Система присвоит этому пункту меню номер N1 (см. раскрывающийся список верхней части окна инспектора объектов).
В строке меню редактора меню выбрать новую заготовку, переключиться на окно инспектора объектов и ввести имя пункта «Выход». Номер этого пункта N2.
Выбрать пункт меню «Файл». Используя заготовки (аналогично пунктам 5 и 6), создать в этом пункте меню два пункта: Рисунки (N3) и Выход (N4).
Выбрать в редакторе меню пункт Рисунки и нажать комбинацию клавиш CTRL + . С помощью появившейся заготовки создать пункты меню: Волны (N5) и Клыки (N6).
Закрыть окно редактора меню (ЩЛКМ на заголовке окна редактора).
Создать контекстное меню.
На палитре компонентов на вкладке Standard выбрать и поместить на форму компоненту PopupMenu.
ДЩЛКМ на компоненте и в открывшемся окне редактора контекстного меню создать два пункта: Волны (N7) и Клыки (N8).
Закрыть окно редактора контекстного меню.
11. Сформировать область рисунка.
На вкладке Additional палитры компонентов выбрать компоненту Image.
Выделить область Image и сформировать ее размер и положение на форме.
Задать для свойства Stretch (растяжка) значение True.
12. Программирование пункта меню Выход.
Выделить пункт меню Выход. С помощью инспектора объектов и события OnClick перейти в тело процедуры N2Click и дописать код: Close ();
12.2. Выделить пункт меню Выход (номер пункта N4).
12.3. Сформировать вызов для этого пункта созданной ранее процедуры N2Click:
в верхней части инспектора объектов в раскрывающемся списке выбрать N4:Tmenultem.
На вкладке Evets (события), используя раскрывающийся список события OnClick, выбрать N2Click.
13. Программирование отображения картинок.
13.1. Выбрать пункт Волны и в процедуру обработки NSCIick дописать код:
Image1->Picture->LoadFromFile("C:\\Windows\\Волны.bmp");
13.2.Выбрать пункт Клыки и в процедуру обработки N6Ciick дописать код: Image1->Picture->LoadFromFile("C:\\Windows\\Клыки.bmp");
Сохранить проект.
Запустить процедуру RUN. Отладить и протестировать программу.
Программирование контекстного меню:
16.1. Выбрать с помощью инспектора объектов объект N7 и к событию OnClick, используя раскрывающийся список, подключить процедуру обработки N5CIick.
Аналогично п. 16.1 для объекта N8 подключить процедуру N6Click.
ЩЛКМ на объекте Image вне пунктов меню.
Для события OnMouseDown (нажатие кнопки мыши) объекта Image1 дописать код процедуры Image1MouseDown:
TPoint p;
р.х = Х;
p.y = Y;
р = ClientToScreen(p);
PopupMenu1->Popup(p.x,p.y);
17. Сохранить проект.
18. Запустить процедуру полной обработки отладить и протестировать программу.
Дополнительные задания:
1. Изменить положение контекстного меню относительно курсора, используя его координаты p.x и p.y, например, p.x+15 (перемещение вправо на 15 пикселов).
2. Добавить второе окно для моделирования работы калькулятора.
Добавить пункт меню «Калькулятор», открыть новую форму (File New Form. Будут созданы файлы: Unit2.cpp, Unit2.h, Unit2.dfm), запрограммировать для нее функции калькулятора (см. задание 2), запрограммировать событие OnClick для пункта меню «Калькулятор» (дописать в тело обработчика код: Form2->ShowModal();), в файле Unit1.cpp подключить фалы новой формы директивой препроцессора #include <Unit2.h>.
3. Продублировать результат вычислений калькулятора на первой форме, создав для этого на первой форме объект Edit1.