Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии программирования.doc
Скачиваний:
42
Добавлен:
11.04.2015
Размер:
651.26 Кб
Скачать

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

 

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

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

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

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

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

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

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

 

 

 

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

 

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

 

Цель: ознакомиться с работой компонентов поддержки пользователя.

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

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

 

Задание

 

Создать на базе компонентов поддержки пользователя ПП "Навигатор-просмотрщик файлов *.BMP".

 

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

 

1.     Изучить состав компонентов, расположенных на странице Win 3.1 среды Borland Delphi.

2.     Изучить назначение и функции компонентов TDriveComboBox, TDirectoryListBox, TFileListBox.

3.     Написать текст программы, предварительно разобравшись с алгоритмами предлагаемых примеров - отдельных частей исходного кода программы.

4.     Выявить и исправить ошибки.

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

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

 

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

 

В данной лабораторной работе Вам необходимо ознакомиться с принципами построения пользовательского интерфейса для ПП.

Для этого Вам предлагается на примере создания ПП типа "Навигатор-просмотрщик файлов *.BMP" использовать по отдельности составные части стандартного диалога – компоненты списки имен дисков, каталогов, файлов и фильтров расширений.

Если установить между этими компонентами взаимные ссылки, то они будут работать вместе, без дополнительного написания исходного кода. При этом для установления связи между компонентом-списком дисков (TDriveComboBox) и компонентом-списком каталогов (TDirectoryListBox) необходимо использовать свойство DriveComboBox1.DirList.

Список каталогов с компонентом-списком файлов (TFileListBox) можно связать, определив указатель на последний в свойстве DirectoryListBox.FileList.

Фильтр отображаемых файлов в списке файлов задаётся шаблоном в свойстве Mask. Значение этого свойства для отображения BMP-файлов можно задать строкой:

 

*.bmp; *.BMP

 

Для определения реакции на смену текущего файла у компонента FileListBox используется событие OnChange. По этому событию в данном примере с помощью функций API LoadImage() и GetObject() будут определяться размеры картинки (BM.bmHeight, BM.bmWidth), в соответствии с которыми битовое изображение будет показываться либо в натуральную величину (если его размеры меньше или равны размерам Inmage1), либо уменьшаться в масштабе до габаритов Image1. За масштабирование изображения отвечает свойство Image1.Stretch.

 

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

 

Запустите оболочку Delphi.

Ознакомьтесь с набором компонентов, представленных на странице палитры Win 3.1.

Создайте новое приложение.

Сохраните новый проект в новой директории с именем "L_R_№4".

Поместите на поле формы следующие компоненты со страницы Win 3.1:

·      TDriveComboBox;

·      TDirectoryListBox;

·      TFileListBox.

Расположите эти элементы в перечисленном порядке, выровняйте их и установите взаимные ссылки.

Для компонента FileListBox установите фильтр отображения файлов только с расширением BMP.

Поместите на форму компонент TPanel и задайте для него размеры по горизонтали и вертикали пропорционально отношению: 640х480. Свойство Panel1.BevelInner установите в bvLowered, а Panel1.BevelOuter в bvRaised. Пронаблюдайте реакцию.

Разместите на Panel1 компонент TImage. Его свойства AutoSize и Center установите в True, а Align  - в alClient.

Обработчик события смены текущего файла для компонента-списка файлов запрограммируйте следующим образом. Объявите в нём две локальные переменные:

 

Bitmap: HBitmap ;                   // HBitmap – тип указателя на TBitmap

BM: Windows.TBitmap;

 

и внесите текст:

 

Bitmap:=LoadImage (0, PChar (FileListBox1. FileName), Image_Bitmap, 0, 0,

 LR_LOADFROMFILE );

GetObject (Bitmap, SizeOf (BM), @BM);

if (BM.bmHeight > Image1.Height) or (BM.bmWidth > Image1.Width)

then Image1.Stretch := True

else Image1.Stretch := False;

if FileListBox1.FileName  <> ''  then

Image1.Picture.LoadFromFile (FileListBox1.FileName);

 

Задайте общее название для проекта и основной формы "Навигатор-просмотрщик файлов *.BMP". Подключите собственную иконку.

Сохраните проект. Запустите ПП на трансляцию и выполнение.

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