Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.006 c
1-81347
olookin
2002-07-13 09:11
2002.07.25
Количество знаков у числа пи


14-81435
Wild
2002-06-27 14:47
2002.07.25
Hint в Дельфях (W2K, D6)


1-81342
Src_Crab
2002-07-12 20:52
2002.07.25
Преобразование String в Integer.


3-81179
Nebula
2002-07-04 16:41
2002.07.25
IBQuery.Filter


14-81440
vixic
2002-06-27 16:20
2002.07.25
Почтовый сервер и клиент для локальной сети?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский