Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Interface. Вывод графических изображений

Begin

...

Вывод графических изображений

Begin

Begin

Tablel.Next;

end;

procedure TForml.Button2Click(Sender: TObject);

Tablel.Prior;

end;

 

при нажатии на кнопки Button1 и Button2 выполняется переход к следующей и предыдущей записям набора данных Table1, соответственно.

 


Компонент DBImage (графический образ) используется для вывода изображений, содержащихся в графических полях БД. Если компонент DBImage связать с по­лем, не содержащим изображение, например, с числовым, то в области компо­нента выводится название этого поля. В случае, когда компонент DBImage не связан ни с одним полем, он отображает свое собственное название (значение свойства Name).

Кроме вывода изображения, компонент также позволяет изменить (заменить) его, вставив нужный рисунок из буфера обмена Windows.

Основные свойства графического образа были рассмотрены ранее в главе с опи­санием графических возможностях Delphi, поэтому здесь мы рассмотрим только дополнительные характеристики компонента DBImage.

Свойство AutoDisplay типа Boolean указывает, каким способом отображаются в компоненте DBImage изменения в связанном с ним поле. По умолчанию свойство имеет значение True, и содержимое графического поля отображается. Если свойству AutoDisplay установить значение False, то при изменении значения поля, например, из-за перехода к другой записи, вместо изображения выводится наименование поля. В этом случае для вывода графики нужно выполнить двой­ной щелчок на графическом компоненте или нажать клавишу <Enter>, когда в нем находится фокус. Можно также вывести содержимое поля программно с помощью метода LoadPicture. Например:

DBImagel.AutoDisplay:=false;

procedure TForml.ButtonlClick(Sender: TObject);

DBImagel.LoadPicture;

end;


В процедуре при нажатии на кнопку Button1 в графическом компоненте DBImage1 выводится содержимое графического поля текущей записи.

Компонент DBImage поддерживает работу с буфером обмена Windows, позволяя копировать изображение в буфер и вставлять изображение из буфера. Для вы­полнения этих действий используются обычные для Windows-программ комби­нации клавиш: копирование в буфер — <Ctrl>+<Insert>, удаление в буфер — <Shift>+<Delete>, вставка из буфера — <Shift>+<Insert>.

Указанные действия также могут быть выполнены программно. Метод copyToClipboard копирует изображение в буфер обмена, метод CutToClipboard вырезает (перемещает) изображение в буфер обмена, а метод PasteFromciipboard вставляет изображение из буфера обмена.

При использовании любого способа вставки из буфера новое изображение ав­томатически заменяет предыдущее содержимое компонента DBImage.

Рассмотрим в качестве примера программу для работы с фотоальбомом.

Пусть информация о фотографиях хранится в таблице Paradox, представляющей собой как бы "электронный альбом" и включающей следующие поля:

□ код — автоинкрементное поле;

□ название — символьное поле;

□ дата — поле даты;

□ изображение — графическое поле;

□ описание — МЕМО-поле.

 

Для просмотра и редактирования альбома создано приложение, форма которого показана на рис. 8.10. Содержимое альбома выводится в соответствующих ком­понентах. В верхней части расположены редакторы DBEdit, один из которых содержит название, а другой — дату фотографии. Снимок выводится в графиче­ском компоненте DBImage1, а описание снимка — в многострочном редакторе DBMemo1. Для навигации по альбому используется навигатор DBNavigatori, распо­ложенный в нижней части формы. Переключатель CheckBoxl управляет масшта­бированием изображения по размеру компонента DBImage1. По умолчанию этот переключатель выключен, и изображение не подстраивается под размеры гра­фического образа.

Название, дата и описание фотографии редактируются обычным способом с помощью соответствующих компонентов DBEdit и DBMemo. Для редактирования снимка имеются кнопки, позволяющие вставлять изображение из файла и со­хранять его в файле, а также обмениваться изображениями через буфер.

Нажатие кнопки Открыть вызывает появление диалога OpenPictureDialog1 вы­бора файла для открытия. После выбора нужного файла содержащееся в нем изображение загружается в компонент DBImage1. Фильтр диалога настроен на выбор графических файлов типа BMP, а также типов ICO, EMF и WMF, кото­рые при загрузке автоматически преобразуются в формат BMP.

Нажатие кнопки Сохранить открывает диалог SavePictureDialog1 выбора файла для сохранения. После выбора файла в него записывается изображение из компонента DBImage1. Фильтр диалога настроен на выбор графического файла типа BMP. Настройка фильтров обоих диалогов произведена при создании формы.

Рис. 8.10. Просмотр и редактирование электронного фотоальбома

 

Кнопки с названиями Копировать, Вырезать и Вставить выполняют соответст­вующий обмен между графическим компонентом DBImagel и буфером. Кнопка Закрыть прекращает работу приложения.

Ниже приведен код модуля uAlbum формы Forml приложения.

unit uAibum;

<== предыдущая лекция | следующая лекция ==>
Использование модифицированной сетки | Построение диаграмм
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 491; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.