Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laboratornye_Delphi.doc
Скачиваний:
16
Добавлен:
17.05.2015
Размер:
2.78 Mб
Скачать

Пример 15.5. Создан простой редактор содержащий меню. Экранная форма программы показана на рис. 15.7.

Рис. 15.7. Экранная форма примера 15.5

Обработка событий выбора пунктов меню имеет вид

{ Обработка меню ВИДПОКАЗАТЬ СООБЩЕНИЕ }

procedure TfrmMainMenu.DisplayMessage(Sender: TObject);

begin

muiMessage.Checked := not(muiMessage.Checked);

lblMessage.Visible := muiMessage.Checked;

end;

{ Обработка меню ВИД-ПОКАЗАТЬ РЕДАКТОР }

procedure TfrmMainMenu.DisplayEditor(Sender: TObject);

begin

muiEditor.Checked := not(muiEditor.Checked);

memEditor.Visible := muiEditor.Checked;

end;

{ Обработка меню СПРАВКА }

procedure TfrmMainMenu.AboutBox(Sender: TObject);

begin

Application.MessageBox('Это простой редактор, версия 0.01',

'О программе...', MB_OK);

end;

Всплывающее меню (tPopupMenu)

Компонент TPopupMenu появляется на экране, когда пользователь нажимает правую кнопку мыши на элементе управления, с которым оно ассоциировано. Чтобы связать с элементом управления всплывающее меню, нужно присвоить его свойству PopupMenu компонент типа TPopupMenu. Всплывающее меню, подобно главному меню, добавляется на форму во время разработки приложения в среде Delphi с помощью кнопки на стандартной панели инструментов и создается конструктором меню.

Пример 15.6. Создан простой редактор, содержащий главное и вплывающее меню. При нажатии правой кнопки мыши на форме появляется всплывающее меню, пункты которого совпадают с главным меню. Экранная форма программы показана на рис. 15.8.

Рис. 15.8. Экранная форма примера 15.6

Обработка событий выбора пунктов меню аналогична примеру 15.5 и имеет вид

procedure TfrmPopupMenu.DisplayMessage(Sender: TObject);

begin

muiMessage.Checked := not(muiMessage.Checked);

pmiMessage.Checked := muiMessage.Checked;

lblMessage.Visible := muiMessage.Checked;

end;

procedure TfrmPopupMenu.DisplayEditor(Sender: TObject);

begin

muiEditor.Checked := not(muiEditor.Checked);

pmiEditor.Checked := muiEditor.Checked;

memEditor.Visible := muiEditor.Checked;

end;

procedure TfrmPopupMenu.AboutBox(Sender: TObject);

begin

Application.MessageBox('Это простой редактор, версия 0.02',

'О программе...', MB_OK);

end;

Так как обработка событий главного и всплывающего меню одинакова, то централизовать действия можно с помощью списка действий (см. пример 15. 4) или же, выбрав один и тот же метод для обработки событий выбора пункта меню (OnClick) на совпадающих пунктах меню.

Порядок выполнения работы

  1. Для решения задачи табулирования функции согласно варианту создать форму и разместить на ней:

  • главное меню (компонент типа TMainMenu) с командами: завершить работу программы, табулировать функцию, очистить поле вывода результатов;

  • контекстное меню (компонент типа TPopupMenu);

  • группу переключателей, с помощью которых задать способ вывода результатов (на экран, в файл, в массив), если не один из способов не выбран меню «Табулирование» не должно быть доступным.

  • поля ввода исходных данных;

  • область просмотра (компонент типа TMemo), которая должна снабжаться вертикальной полосой прокрутки и служить только для вывода информации.

  1. В поля ввода допустимо вводить только цифры и точку, все остальные символы не должны водиться. Поле вывода не должно быть доступно для редактирования. Следует обработать все возможные исключительные ситуации. Возможный вид главной формы показан на рис. 15.9.

Рис. 15.9. Вид формы лабораторной работы №15

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]