Объектно-ориентированное программирование Инкапсуляция Полиморфизм Библиотека визуальных компонентов Кроссплатформенное программирование Визуальные стили Примеры скриптовАрхитектура приложений баз данных ввод/вывод

Компонент TImage

Этот компонент служит надстройкой над классом TPicture и замыкает всю иерархию графических объектов VCL. Именно на его поверхности и будут отображаться графические объекты, содержащиеся в свойстве:

property Picture: TPicture;

В качестве канвы компонента (свойство canvas) используется канва объекта из свойства Picture.Graphic, но только если поле Graphic ссылается на объект класса TBitmap. Если это не так, то попытка обращения к свойству вызовет исключительную ситуацию EinvaiidOperation, т. к. рисовать на метафайле или значке нельзя.

Следующие три свойства определяют, как именно графический объект располагается в клиентской области компонента:

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

Если это свойство установлено в значение True, то изображение "натягивается" на клиентскую область, при необходимости уменьшая или увеличивая свои размеры. Если оно установлено в False, то играет роль следующее свойство Center.

Если это свойство установлено в значение True, изображение центрируется в пределах клиентской области. В противном случае оно располагается в ее верхнем левом углу.

Несмотря на то, что описанию свойств и методов графических объектов здесь отведено уже довольно много места, работа с ними проста и удобна. Программу для просмотра изображений в среде Delphi можно создать буквально "в три счета":

1. Поместите на форму следующие компоненты: область прокрутки TScrollBox, на нее — компонент Timage (их верхние левые углы должны совпадать), любую кнопку (например, TButton) и диалог открытия файлов TOpenPictureDialog.

2. Подключите к главному модулю создаваемого приложения модуль JPEG (в предложении uses); свойство AutoSize компонента Timage установите в значение True.

3. Дважды щелкните мышью на кнопке. В появившемся обработчике события oncдick напишите такой код:

procedure TForml.BitBtnlClick(Sender: TObject);

 begin

OpenPictureDialogl.Filter := GraphicFilter(TGraphic);

if OpenPictureDialogl.Execute

then Imagel.Picture.LoadFromFile

(OpenPictureDialogl.FileName);

 end;

Приложение готово. Обратите внимание на роль полиморфизма в методе LoadFromFile — по расширению файла определяется его формат и в зависимости от этого создается нужный графический объект.

Прозрачная надпись на TBitmap. Доступ к колонке-строке grid'а по заголовку. Использование клавиши-акселератора в TTabsheets. Доступ к HKEY_LOCAL_MACHINE под NT без прав администратора. Изменение числа колонок и их ширины в TFileListBox. Настройка табуляции в компоненте TMemo. Перехват нажатия функциональных клавиш и стрелок. Мерцание на DrawCell. Bitmap и текст на TBitBtn. Изменение вида текстового курсора.

Пределы Интегралы Вычисление двойного интеграла Изменить порядок интегрирования Объектно-ориентированное программирование Архитектура приложений баз данных Примеры скриптов Высшая математика