Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Сокровищница
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  05:50[Войти] | [Зарегистрироваться]

Коллекция изображений, загружаемых из ресурсов

Cepгей Poщин
дата публикации 03-08-2006 07:04

Коллекция изображений, загружаемых из ресурсов

Те, кто в своих программах использует TActionList, TToolbar, TActionManager и пр., наверно, так же как и я, часто формируют коллекцию изображений (глифов), в основном одних и тех же с некоторыми отличиями. Эта однообразная работа побудила меня создать компонент (потомок TDragImageList), который содержит в себе часто используемые глифы. По мере создания я добавил некоторые полезные возможности и переделал редактор.

Коллекция глифов TImageListCep может содержать изображения из ресурсов программы, которые добавляются в программу с помощью директивы компилятора {$R ИмяФайла.res}, и изображения, которые загружаются обычным образом из файла dfm.

Информация о загружаемых ресурсах содержится в коллекции TResourceNames. Для каждого элемента коллекции можно задать следующие свойства

Name:string
— Название ресурса;
Width:Byte
— Ширина одного глифа;
Height:Byte
— Высота одного глифа;
AutoSize:Boolean
— разрешает автоматическую установку размеров глифа. Если AutoSize=true, то из ресурсов с названиями вида RESOURCENAME_XX (где XX размер) выбирается наиболее подходящий, и устанавливаются соответствующие значения Width и Height;
GliphCount:Word
— Количество изображений в ресурсе. Если реальное количество меньше, чем указанное, то недостающие изображения будут сгенерированы;
TransparentColor:TColor
— Цвет, который используется в качестве прозрачного. Если clDefault, то будет использован цвет нижней левой точки.
FileName:String
— Название файла из которого берется ресурс. Если не задано, то из приложения;
FileNameDOM:Boolean
— Указывает используется ли имя файла только в режиме Design-Time. Если FileNameDOM=true, то в режиме Run-Time изображения берутся всегда из приложения, игнорируя FileName.

Модуль ImageListCep включает три ресурса, с названием вида “StandartBtn_XX”. Если в своих программах Вы часто используете другие глифы, то добавьте их в модуль ImageListCep.pas после implementation. Для формирования файла с расширением res можно использовать любой редактор ресурсов (например Restorator), или экспортировать изображение из редактора компонента.

Глифы которые загружаются из файлов bmp и ico в режиме Design-Time, аналогично TImageList хранятся в свойстве CustomImg. Для него так же можно задать размеры. Результирующий набор изображений всегда включает изображения из ResourceNames и CustomImg.

Редактор компонента реализован в модуле FormImageListCep.

Вы можете менять порядок изображений только последней строки таблицы, содержащей CustomImg, остальные строки можно только добавлять, или удалять, используя соответствующие пункты контекстного меню. В таблицу можно бросать изображения из explorer`а, перетаскивать изображения, используя клавиатуру (удерживая ctrl) и колесо мыши (удерживая Shift+Ctrl).

При добавлении пиктограмм используется изображение заданного размера, а не 32х32, как в стандартном редакторе.

Чтобы изменить свойства изображений в одной из строк таблицы выберите соответствующий пункт контекстного меню, щелкнув правой кнопкой мыши на нужной строке.

Измененные свойства коллекции изображений вступают в действие по таймеру, через короткий промежуток времени. По этому чтобы отображать вступившие в силу изменения установите событие TImageListCep.OnChange.

Чтобы установить компонент, последовательно проинсталлируйте пакеты ImageListCepPack.dpk и EditImgListPack.dpk. В папке Packages пакеты для BDS2006, в Packages5 пакеты для Delphi5. Буду рад услышать конструктивные предложения и критику.

К материалу прилагаются файлы:




Смотрите также материалы по темам:


 Обсуждение материала [ 12-10-2006 03:25 ] 9 сообщений
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования