Лабораторная работа №3 (2 часа)



 

Создание сложных приложений из множества форм

Цель: получить навыки в программировании интерфейса MDI.

Оборудование: ПЭВМ IBM PC-AT.

Программные средства: ОС семейства Windows, среда Delphi 5.* (или выше).

 

Задание

 

Используя пример из библиотеки Delphi, создать пробный вариант ПП с интерфейсом MDI.

 

Программа работы

 

1. Изучить принципы создания и функционирования ПП с многооконным интерфейсом.

2. Изучить принципы формирования главного меню при создании MDI-приложений.

3. Изучить принципы управления дочерними окнами в MDI-приложениях.

4. В соответствии с заданием внести изменения в текст примера MDI-программы, предварительно сделав её резервную копию.

5. Выявить и исправить ошибки в программе.

6. Расставить по тексту комментарии.

7. Откомпилировать исходный текст программы.

 

Пояснения к работе

 

MDI (Multiple Document Interface) —многооконный интерфейс. Это удобный интерфейс, которым обладают многие прикладные приложения. Суть его заключается в использовании одного главного (родительского) и нескольких подчинённых (дочерних) окон.

Родительское окно обычно содержит главное меню приложения, панели с кнопками управления и т.п., а также одно или несколько дочерних окон. Дочерние окна при этом располагаются в рабочей области родительского и не могут быть "вынесены" за его пределы. При активизации одного из дочерних окон можно формировать главное меню родительского окна. При этом имеется возможность расстановки пунктов меню, закреплённых за дочерними окнами в определённые позиции (1-ю, 2-ю и т.д.), либо замены отдельных пунктов, либо замены всех пунктов главного меню родительского окна. Для соответствующих манипуляций в основном проводится работа с компонентами родительских и дочерних окон TMainMenu (конструктор меню) и их свойствами GroupIndex (номер позиции в группе пунктов главного меню).

 

Указания к выполнению работы

 

Создайте в личном каталоге поддиректорию L_r_№3 для сохранения файлов проекта ПП.

Запустите Delphi. Откройте пример проекта MDI Application.

Для этого выполните следующие действия:

- выберите команду главного меню File|New среды Delphi;

- в появившемся диалоговом окне New Items со страницы Projects выберите шаблон MDI Application и на запрос укажите путь к рабочей директории текущего проекта - ...\L_r_№3;

- откомпилируйте пример и запустите программу на выполнение.

В окне приложения выполните несколько раз команду меню File|New.

Исследуйте возможности нового приложения (последовательно выполните все команды меню). Завершите выполнение программы.

Вернувшись в среду разработчика, выполните два коротких нажатия на компоненте MainMenu1, находящейся в поле формы MDI Application. Вставьте в третий пункт меню - "Window" новые подпункты: «-», «&Next» и «&Previous». Для пункта меню Help установите свойство GroupIndex в "2".

Откройте дочернюю форму - MDI Child (если ее не видно - используйте для открытия комбинацию клавиш Shift + F12). Поместите на неё компонент MainMenu. Активизируйте для компоненты конструктор меню (два коротких нажатия на компоненте). Первому пункту меню присвойте имя "&TEST" и установите его свойство GroupIndex в "1".

Запустите программу и откройте дочернее окно. В меню главного окна должен появиться пункт TEST. Если же дочернее окно закрыть, пункт TEST должен исчезнуть.

Завершите выполнение ПП.

Добавьте в проект две новые формы (дважды выберите команду главного меню - File|New Form) и сделайте их дочерними. Для этого свойству FormStyle у обеих форм присвойте значение fsMDIChild.

Поместите на обе формы по компоненту TMainMenu.

С помощью этих конструкторов меню (двойное нажатие) создайте по пункту Help_Form1 и Help_Form2 соответственно для Form1 и Form2.

Задайте для Help_Form1 и Help_Form2 методы-обработчики по своему усмотрению (например, используя компонент TLabel, запрограммируйте вывод текста - справки по работе с окнами Form1 и Form2).

Свойству GroupIndex справочного пункта одной из форм присвойте значение "2". В строку uses модуля Main добавьте через запятую: Unit1, Unit2.

Для форм Form1 и Form2 свойства BorderIcon | biSystemMenu установите в True, а в обработчик OnClose для одной из форм внесите следующий оператор:

 

Action := caFree;

 

Запустив программу на выполнение, проверьте работу слияния пунктов меню разных дочерних форм с родительской. Пункт меню Help главной формы в одном из случаев должен быть заменён на время активизации дочерней формы соответствующим "Help_Form№".

Вставьте в текст программы методы-обработчики для выполнения действий на реакцию выбора команд «Next» и «Previous». Для этого выполните два коротких нажатия на пункте меню Next формы MDI Application (отвечающего за выбор следующего дочернего окна MDI) и введите код для обработчика события OnClick:

 

Next;

 

Аналогичным образом создайте обработчик для пункта Previous (отвечающего за выбор предыдущего активного окна):

 

Previous;

 

Проверьте, сохраните и откомпилируйте файл проекта.

Продемонстрируйте работу преподавателю.

 

Контрольные вопросы и задания

 

1. Что такое интерфейс MDI?

2. Какими возможностями обладает пример проекта MDI Application?

3. За что отвечает свойство FormStyle у компонента TForm?

4. Какой вид имеет пункт меню, у которого в свойстве Caption указано значение «-»?

5. Каким образом формируется главное меню родительского окна при использовании MDI - интерфейса?

6. Каково назначение и использование свойства GroupIndex компонента TMainMenu?

7. Раскройте суть выполнения операции Action := caFree;

 


Дата добавления: 2018-05-13; просмотров: 241; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!