Коллекция картинок

Компоненты 32-разрядного интерфейса

Для использования в приложении различных пиктограмм, поясняющих назначение пунктов меню, а также для оформления кнопок, расположенных на панелях инструментов, удобнее всего использовать не отдельные изображения, привязанные к каждому конкретному объекту, а коллекции. В таком случае компонент будет лишь ссылаться на номер картинки в такой коллекции, представленной в VCL компонентом ImageList.

Компонент ImageList, или список изображений, расположенный на закладке Win32 палитры компонентов, является невизуальным компонентом. На экране его содержимое не отображается непосредственно, но может быть выведено на поверхности какого-либо визуального компонента. Элементами ImageList могут выступать изображения форматов bmp или ico.

Размеры всех картинок в списке должны быть одинаковыми. Чтобы задать размер каждого изображения, используют свойства Height и Width, определяющие габариты картинки в пикселях.

Если при выводе изображения требуется заменить цвет фона в тех местах, где оно является прозрачным, следует использовать свойство bkColor. При значении, отличном от clNone ("бесцветный"), указанный в этом свойстве цвет будет использоваться в качестве фона на области, занимаемой изображением.

Чтобы указать цвет фона, да и для того, чтобы вообще определить сами изображения во время разработки приложения, используют специальный редактор, который можно вызвать из контекстного меню компонента (ImageList Editor), или двойным щелчком по нему.


При помощи редактора ImageList можно вносить новые изображения в список, удалять их, менять местами и т.д. Непосредственно после внесения можно так же задать цвет прозрачности (Transparent color), т.е. тот, который будет при выводе заменен цветом фона. Этот цвет можно выбрать из соответствующего списка, либо использовать инструмент-пипетку, доступный в области просмотра выбранного изображения (Selected Image).

Для внесения изображения в список при помощи редактора используйте кнопку Add, для замены выбранного изображения другим - Replace, а для удаления - Delete. Кнопка Clear удаляет все изображения из коллекции, а при помощи Export вы можете сохранить их все в виде одного файла bmp.

Любой компонент, имеющий свойство Images (например, Menu), можно ассоциировать со списком изображений, указав для данного свойства имя доступного для данной формы объекта ImageList. После этого для ссылки на изображение достаточно будет указывать его порядковый номер в списке. Он задается при помощи свойства ImageIndex, имеющегося, например, у всех пунктов меню - MenuItem.