Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Работа с файлами ресурсов

CuBook3.335

Допустим требуется включить картинку, пиктограмму или курсор в файл ресурсов какого-то проекта или компонента. Файлы ресурсов проектов имеют расширение .res и содержат битовые матрицы (.bmp), пиктограммы (.ico), изображения курсоров (.cur), используемые в проекте. Файлы ресурсов компонентов имеют расширение .dcr (dynamic component resource - динамические ресурсы компонента) и могут включать такие же элементы, как и файлы .res.
 
В некоторых случаях включение изображений в файл ресурса - единственная возможность решить ту или иную задачу. Например, если нужно ввести в приложение какой-то нестандартный курсор, это можно сделать, зарегистрировав его с помощью функции LoadCursor в свойстве Cursors компонента Screen. Однако для использования своего курсора надо сначала создать его и включить в ресурс приложения с помощью Редактора изображений. Другой пример - создание пиктограммы для нового компонента (не шаблона), включаемого вами в библиотеку C++Builder. Эта пиктограмма также должна быть создана не в виде отдельного файла, а как элемент ресурса компонента.
 
Работа с файлом ресурса приложения в Редакторе изображений обычно начинается командой File | Open, открывающей файл ресурсов приложения .res, в котором нужно что-то изменить. Перед вами открывается окно, содержащее структуру файла в виде дерева. Сначала в нем может быть только один узел - Icon, содержащий вершину MAINICON, соответствующую стандартной пиктограмме приложения. Добавить новые узлы можно с помощью команды Resource | New (ее можно найти и во всплывающем меню Редактора изображений), выполняя которую предоставляется возможность выбрать один из типов элементов: Bitmap, Cursor или Icon. Пусть, например, нужно использовать в своем приложении нестандартный курсор в виде человечка с указкой. После выполнения Resource | New | Cursor и в дереве структуры файла ресурсов приложения появляется новая вершина. Нужно задать ей то имя, которое в дальнейшем будете использовать в приложении при регистрации курсора функцией LoadCursor. Затем щелкнув на созданной вершине, откроется заготовка изображения курсора, в которой можно рисовать нужную картинку.
 
При рисовании курсора в главном меню Редактора изображений появляется раздел Cursor с двумя подразделами: Set Hot Cpot - указание горячей точки, и Test - тестирование. Горячая точка - это та точка изображения курсора, координатами которой являются параметры X и Y, передающиеся в обработчики событий мыши. При выборе раздела меню Set Hot Cpot открывается диалоговое окно, в котором нужно задать горизонтальную и вертикальную координаты горячей точки. Координаты задаются в пикселах, т.е. чтобы правильно указать координату надо посчитать, на сколько клеточек требуемая точка отстоит от левого верхнего угла рисунка.
 
После задания горячей точки можно выбрать раздел меню Cursor | Test. Перед вами откроется окно, в котором курсор приобретет нарисованный вами вид. Нажав кнопку мыши и передвинув курсор, можно увидеть, что за курсором тянется нарисованная линия. Можно видеть, из правильной ли точки курсора выходит эта линия, и при необходимости можете подкорректировать координаты горячей точки или само изображение курсора.
 
После завершения создания курсора, надо вернуться в окно структуры файла ресурса и выполнить команду File | Save. Несколько иначе, но подобным же образом создаются файлы ресурсов компонентов. Начинается работа с команды File | New | Component Resource File (.dcr). Затем, если нужно создать пиктограмму для регистрации вашего нового компонента в библиотеке, необходимо выполнить команду Resource | New | Bitmap и в открывшемся диалоговом окне задать размер картинки 24x24. Только такой размер воспримется при регистрации вашего компонента в библиотеке.
Затем нужно назвать соответствующую вершину в дереве структуры файла ресурсов тем же именем, которое имеет вводимый вами класс компонента. В противном случае C++Builder не воспримет это изображение как пиктограмму вашего компонента. В файл .dcr необходимо сохранить с именем, совпадающим с именем файла модуля, в котором создается компонент, и в том же самом каталоге, в котором хранится этот файл модуля. Только при соблюдении всех перечисленных выше условий ваше изображение будет воспринято C++Builder как пиктограмма компонента и она будет использована при установке компонента на странице библиотеки. А само создание изображения ничем не отличается от создания пиктограммы шаблона компонента.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий