Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизПомогите! Плз. Пишу компонент... Найти похожие ветки
← →
Aladin (2002-06-23 12:24) [0]Помогите! Плз. Пишу компонент, хочу чтоб у него была своя картика. Вроде она берется из файла dcr. А как ее отображать?
Вроде ниче такого в форумах не было, уже искал
← →
Юрий Зотов (2002-06-23 12:45) [1]Запускаете Image Editor, создаете новый файл ресурсов (обычно с именем модуля компонента и расширением DCR). В нем делаете картинку размером 24х24 с именем класса компонента (писать строго большими буквами). Все это сохраняете в каталоге с модулем компонента. В нем же создаете регистрационный модуль (обычно имя_модуля_компонента + Reg.pas), в него переносите процедуру Register, в uses пишете Classes и модуль компонента. Сюда же добавляете строку {$R имя_файла_ресурсов}. Инсталлируете регистрационный модуль в палитру и наслаждаетесь своей иконкой.
← →
Aladin (2002-06-23 13:31) [2]А че значит
[Warning] Unit "SubCls" implicitly imported into package "Такой-то"?
← →
Юрий Зотов (2002-06-23 14:01) [3]Это нормально. Это значит, что регистрационный модуль в пакет включен явно, а модуль самого компонента (SubCls) - нет. Поэтому компилятор включил его неявно и сообщил об этом. Можно (и нужно) явно включить в пакет модуль самого компонента и сообщение исчезнет. Можно (но не нужно) оставить и как есть, работать все равно будет.
← →
Aladin (2002-06-23 14:39) [4]У меня тут просто в одном пакете несколько компонентов. В одном есть этот SubCls и он там нужен, а в другом его нет и он там не нужен. Куда там че прописать надо (в какой файл и что), чтоб этот Warning убрать? Или эти компоненты надо разделить в разные пакеты?
← →
Юрий Зотов (2002-06-23 14:50) [5]Можно оставить в одном пакете (так даже лучше, а то потом не исключены конфликты, придется dcp добавлять). В окне пакета жмем кнопку Add, на вкладке Add Unit жмем кнопку Browse, в диалоге выбираем модуль SubCls, потом ОК до упора. В пакете появляется модуль SubCls. Компилим пакет. Вот и все.
← →
Сатир (2002-06-23 17:54) [6]2Юрий Зотов
вот меня тоже беспокоил этот вопрос, но решить его так и не удалось:-(
При создании иконки в редакторе есть возможность создать битмап и иконку. Вопрос: что создавать? потом, эту битмапу можно назвать только большими буквами, а как сам файл ресурсов называется, имеет ли это какое-то значение?
и теперь вопрос по подключению в самом коде.
моя строка выглядит следующим образом:{$R XGROUPBAR.DCR}
может нужно другое рассширение, но в палитре никаких изменений так и не произшло:-(...
Подскажите, что может быть не так.
Заранее благодарен.
← →
Aladin (2002-06-23 18:06) [7]Сатир
Да, мне вот тоже интересно, есть ли значение между битмап и иконкой (хотя можно пропробовать, да времени нет :( ). У меня с битмап 24Х24 пашет все прекрасно (уже).
← →
MBo (2002-06-23 20:01) [8]>Сатир
Удали компонент из пакета (dclusr50.dpk, например)
и заново поставь, тогда палитра обновится, и появится картинка, если есть DCR
← →
Юрий Зотов (2002-06-23 21:15) [9]Ответ в самом вопросе. 24х24 - это может быть только битмап. Иконки имеют либо 32х32, либо 16х16 - на то они и иконки.
Насчет больших букв - это связано с Си, с компилятором ресурсов и идет еще от Win16. Всегда пишите название всех ресурсов ТОЛЬКО большими буквами - не ошибетесь. Сейчас это ограничение, вроде бы, снято (хотя не уверен), но как-то давно я на это напоролся - ресурс есть, но по имени не находится (были смешанные буквы). С тех пор использую только большие буквы и проблем нет.
Как называется сам файл ресурсов и какие в нем буквы - неважно, здесь работают те же принципы, что и вообще в правилах наименования файлов в системе. Важно, чтобы он был правильно указан в директиве $R, вот и все. И даже расширение DCR не обязательно, RES тоже сработает.
Если картинка не появляется, переинсталлируйте пакет (как сказал MBo) или хотя бы перебилдите его - клик правой кнопкой по названию пакета в его окне (всегда верхняя строка), далее в появившемся меню пункт Build.
Иногда файлы ресурсов готовят в их исходном текстовом виде (расширение RC) и включают в сам пакет, что обеспечивает автоматическую перекомпиляцию ресурсов при их изменении. Но это уже экзотика (хотя и весьма грамотная, и в серьезных софтверных конторах часто именно так и делается).
← →
Сатир (2002-06-26 19:24) [10]Удалено модератором
← →
Aladin (2002-06-26 19:47) [11]А ты как делаешь?
Кстати, удалять не обязательно. Рисунок, при перекомпилировке должен сразу поменяться
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c