Читайте также:
|
|
Среда 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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Задание к лабораторной работе | | | Не делай предположений |