Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Краткая теория. Среда Windows и написанные для неё программы управляются событиями

Читайте также:
  1. I. Общая теория статистики
  2. А. ТЕОРИЯ ЗАЩИТНЫХ МЕХАНИЗМОВ
  3. Арзамаскин Н.Н., Арзамаскин А.Н. Федералистская культура в России// Правовое государство: теория и практика. – 2011. -- № 2. – С.
  4. Арзамаскин Н.Н., Арзамаскин А.Н. Федералистская культура в России// Правовое государство: теория и практика. – 2011. – № 2.
  5. Арктическая теория
  6. Баканов М.И., Шеремет А.Д. Теория экономического анализа: Учебник. - 4-е изд., доп. и перераб. - М.: Финансы и статистика, 2012. - 416с.
  7. Баффет и современная портфельная теория

Среда Windows и написанные для неё программы управляются событиями, возникающими в результате воздействий пользователя, аппаратуры компьютера или других программ. На языке Object Pascal события — это свойства процедурного типа, предназначенные для создания пользовательской реакции на те или иные входные воздействия. Присвоить свойству значение означает указать объекту адрес метода (процедуры), который будет вызываться в момент наступления события. Такие методы называются обработчиками событий.

События имеют разные типы в зависимости от происхождения и предназначения. Общим для них является параметр Sender — он указывает на объект-источник события. Самый простой тип события — TNotifyEvent — не имеет других параметров.

У некоторых компонентов, представляющих названия пунктов анкеты (например, TcomboBox), существует свойство типа TStrings - список строк (например, у компонента TComboBox это Items). Выполнив два коротких нажатия в окне этого свойства, можно запустить его редактор и внести туда все названия пунктов анкеты. Смена пункта анкеты в этом случае сопровождается событием OnChange. Используя его и свойство, в котором содержится номер текущей выбранной строки из списка типа TStrings для компонента с названиями пунктов анкеты (для TComboBox это свойство - ItemIndex), необходимо создать обработчики событий. Рекомендуется использование оператора выбора из нескольких вариантов case (рис. 1)

 

Рис. 1. Оператор выбора case.

 

Отображение содержимого пунктов анкеты производится в соответствующих свойствах компонентов: для TLabel - в Caption, TEdit - Text, TMemo – Text (или в векторном свойстве Lines). Любимый цвет задаётся через свойство визуальных компонентов Color.

Для загрузки фотографии автора программы необходимо использовать по отдельности составные части стандартного диалога – компоненты списки имен дисков, каталогов, файлов и фильтров расширений.

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

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

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

*.bmp; *.BMP; *.jpg;*.jpeg

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

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

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

BM: Windows.TBitmap;

Begin

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);

end;

Для работы с графическим форматом jpeg необходимо подключить одноименную библиотеку в раздел uses модуля программы.

“Всплывающая подсказка” для каждого интерфейсного элемента задается через его свойства Hint (текст подсказки) и ShowHint (разрешение её показа – True или False).

Авторскую иконку для программы создать с помощью графического редактора Image Editor (команда главного меню Tools|Image Editor). Подключение иконки к проекту программы – через свойство формы Icon в Object Inspector и аналогичное свойство проекта в диалоговом окне Project Options на закладке Application, открываемом командой Project | Options…).

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

1. Раскройте содержание понятий объект, свойство, событие, обработчик события в среде визуального программирования.

2. Что представляет собой обработчик события?

3. По какому признаку компоненты делятся на визуальные и невизуальные?

4. Изучите и опишите свойства интерфейсных компонентов, использованных в программе. Какие свойства есть у всех (или большинства) компонентов?

5. Приведите фрагмент кода, в котором оператор выбора case замените на условный оператор if.

6. Изучите возможности компонента FiltrCombobox (Win3.1). Для чего он предназначен, как использовать его при организации выбора файла?

 


Дата добавления: 2015-08-09; просмотров: 41 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Задание к лабораторной работе| Не делай предположений

mybiblioteka.su - 2015-2024 год. (0.007 сек.)