Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание главного и контекстного меню.



Цель работы: Применение теоретических навыков на практике. Ознакомить учащихся с использованием компонента меню. Закрепить полученные на лекции знания. Написать и отладить программу

 

Теория:

Компонент MainMenu, его значок находится на вкладке Standard, представляет собой строку главного меню.

 

 

 

Рисунок 12

 

После того, как значок компонента будет помещен на форму, его нужно настроить. Сначала надо определить структуру меню. Для этого необходимо двойным щелчком на значке компонента раскрыть окно редактора меню.

В начале работы над новым меню в окне редактора меню находится один-единственный прямоугольник, который изображает новый элемент меню (свойства элемента меню отображаются в окне Object Inspector). Сначала в поле значения свойства Caption нужно ввести название меню, например Файл, и нажать < Enter>. В результате в меню будет добавлен элемент (создан объект типа TMenuItem), а в окне редактора меню появятся два прямоугольника: снизу и справа от выбранного элемента меню. Следует обратить внимание, что по умолчанию редактор меню присваивает каждому созданному элементу меню имя, которое состоит из буквы N и порядкового номера элемента. Так, первый элемент получает имя N1, второй – N2 и т.д.

Чтобы добавить в созданное меню команду, надо выбрать прямоугольник, который находится снизу, и в поле значения свойства Caption ввести название команды, например Открыть. Чтобы добавить раздел меню, надо выбрать тот прямоугольник, который находится справа, ив поле значения свойства Caption ввести название раздела меню, например, Справка. В качестве примера на рисунке приведено окно редактора меню, в котором отображается меню программы MEdit.

Для создания разветвленных меню, т.е. таких, у которых выбор пункт меню вызывает новые списки подпунктов, щелкните по подпункту и нажмите Ctrl+вправо. Такого же эффекта можно добиться после щелчка правой кнопкой мыши на подпункте и выборе продолжения create Submenu.

 

 

Рисунок 13.

 

После того как структура меню будет определена, можно выполнить его окончательную настройку.

Каждый элемент меню представляет собой объект типа TMenuItem (свойства объекта приведены в таблице 13).

 

Таблица 13. Свойства объекта TMenuItem.

Свойство Описание
Name Идентификатор элемента меню
Caption Название элемента меню или команды
Bitmap Картинка, которая отображается слева от названия элемента меню
Enabled Признак доступности элемента меню ( True – элемент доступен, false – не доступен
ShortCut Функциональная клавиша или комбинация клавиш, например < Ctrl> +< z>, с помощью которой можно быстро выбрать элемент меню

 

Для элемента меню можно определить событие OnClick, которое возникает при щелчке на опции или при нажатии Enter, если в этот момент данная опция была выбрана (подсвечена). Обработчик события становится доступен после двойного щелчка на опции в окне конструктора меню.

 

 

Задание:

 

// команда файл> > Новый

Procedure Tform1.N2Click (Sender: TObject);

Var

r: integer // идентификатор кнопки

Begin

if memo.Modfied then

Begin

r: =MessageDlg(‘Текст был изменён. Создать новый документ’ + #10 + ’без сохранения изменений в текущем? ’, mtWarning, [mbYes, mbNo], 0, mbNo);

if t=mbYes then

Memo1.Clear;

End

Else Memo1.Clear;

End;

// команда файл> > Открыть

Procedure Tform1.N3Click (Sender: TObject);

Var

R: integer; //идентификатор кнопки

Begin

If Memo1.Modfield then

Begin

r: =MessageDlg(‘Текст был изменён. Открыть новый файл’ + #10 + ’без сохранения изменений в текущем? ’, mtWarning, [mbYes, mbNo], 0, mbNo);

if r=mbNo then

exit; //продолжить работу

end;

//отобразить окно Открыть

If Opendialog1.Execute then

Begin

// пользователь выбрал файл

Memo1.Lines.LoadfromFile(Opendialog1.FileName);

FileName: = Opendialog1.FileName;

Form1.Caption: = ‘MEdit - ’ + FileName;

End;

End;

// команда файл> > Сохранить как

Procedure TForm1.N4Click(Sender: TObject);

Begin

SaveDialog1.FileName: =FileName;

If SaveDialog1.Execute then

// сохранить текст в файле

Memo1.Lines.SaveToFile (FileName);

End;

// команда файл > > Выход

Procedure TForm1.N5Click (Sender: TObject);

Var

R: integer; //идентификатор кнопки

Begin

If Memo1.Modfied then

Begin

r: =MessageDlg(‘Текст был изменён. Завершить работу’ + #10 + ’без сохранения изменений в текущем? ’, mtWarning, [mbYes, mbNo], 0, mbNo);

if r=mbYes then

Close; // завершить работу программы

End;

End;

Procedure TForm1.FormCloseQuery (Sender: TObject; var CanClose: Boolean);

Var

R: integer; //идентификатор кнопки

Begin

If Memo1.Modfied then

Begin

r: =MessageDlg(‘Текст был изменён. Завершить работу’ + #10 + ’без сохранения изменений в текущем? ’, mtWarning, [mbYes, mbNo], 0, mbNo);

if r=mbNo then

CanClose; //не завершать работу программы

End;

End;

Индивидуальные задания

Задание №1

1. Организуйте построение 4-х рисунков с помощью пунктов главного меню.

2. Организуйте построение 2-х графиков функций с помощью пунктов контекстного меню

3. Организовать пункты лабораторных работ главного меню

4. Организовать пункты лекционного материал контекстного меню

5. Организовать пункты электронного журнала главного меню

6. Организовать пункты студенческого отдела контекстного меню

7. Организовать пункты магазина сотовой связи главного меню

8. Организовать пункты магазин игрушек контекстного меню

9. Организовать пункты автомобильного салона главного меню

10. Организовать пункты магазина запчастей для автомобилей контекстного меню

11. Организовать пункты контекстного меню библиотеки

12. Организовать пункты главного меню для работы администратора ресторанного бизнеса

13. Организовать пункты контекстного меню заведующего отделения

14. Организовать пункты контекстного меню изменения цвета формы

15. Организовать пункты контекстного меню изменения картинки

Задание №2

  1. Разработать интерфейс приложения с применением компонентов: MainMenu, PopupMenu, StringGrid
  2. Разработать алгоритм решения задачи в соответствии с вариантом задания.
  3. Реализовать разработанный алгоритм в рамках ранее созданного интерфейса.
  4. Проверить работоспособность программы с помощью тестового набора данных.
  5. Оформить отчет и сдать работу преподавателю.

Содержание отчета:

  1. Номер, тема, цель работы, задание к работе, вариант задания.
  2. Блок-схема алгоритма решения задачи.
  3. Тестовый набор данных
  4. Программа (текст рабочего модуля)
  5. Результаты работы программы.
  6. Выводы о проделанной работе

 

1. По заданным координатам точки М(x, y) определить попадает или нет точка М в заштрихованную область. (Рисунок области создать в графическом редакторе Paint и вставить на форму как картинку)

 

2. Вычислить множество значений для функции, вывести их в виде таблицы. Построить и вывести график функции заданной функции. (график построить с помощью электронной таблицы Excel и полученное изображение вставить на форму как картинку).

 

Функция f(x) a b n
1. x-sin(x) p/2
2. sin(x) p/4 p/2
3. cos(x) p/3 2*p/3
4. tg(x) p/4
5. ctg(x) p/4 p/2
6. sin(x)-cos(x) p/2
7. x*sin(x) 3*p
8. sin(1/x) p/8 2/p

 

Структурная схема приложения:

 

Примерный вид главной формы приложения приведен на рисунке:

На форме расположить компонент MainMenu.

При выборе пункта меню «Задание №1» на экране появляется подменю из двух пунктов: «Условие задания №1» и «Решение задания №1».

При выборе пункта подменю «Условие задания №1» на эранне появляется Форма 1, на которой выводится условие задания 1 и картинка.

При выборе Пункта подменю «Решение задания №1» на экране появляется Форма 2, на которой производится ввод исходных данных, вывод полученных результатов.

Аналогично работает пункт меню «Задание №2».

При выборе пункта меню «Выход» происходит выход из приложения.

На Форме 1 расположить следующие компоненты:

- Memo или RichEdit

- Image

- PopupMenu содержащее следующие пункты: «Скрыть рисунок», «Показать рисунок».

- Button (BinBtn)

На Форме 2 расположить следующие компоненты:

- StringGrig или Edit (MaskEdit)

- PopupMenu содержащее следующие пункты: «Очистить таблицу», «Скрыть таблицу», «Показать таблицу»

- Button (BinBtn)

Все перечисленные компоненты можно распологать в произвольном порядке. Можно добавлять и другие компоненты для создания более удобного пользовательского интерфейса. Кнопки и поля ввода должны иметь всплывающие подсказки.

Контрольные вопросы:

  1. Какие виды меню вы знаете?
  2. Назначение компоненты TPopupMenu.
  3. Назначение компоненты TMainMenu.
  4. Что возращает функция MessageDlg?
  5. Какие системные диалоги вы знаете?
  6. Опишите компонент OpenDialog?

 

Лабораторная работа № 26.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-08-31; Просмотров: 946; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.032 с.)
Главная | Случайная страница | Обратная связь