1 - как создать собственную иконку для компонента? (Пробовал сделать как в статье - не получилось) Моя иконка в формате png.
2 - как создать свойство компонента, чтобы оно отображалось в "Инспекторе объектов"? Пробовал объявлять свойство в секции published - в инспекторе объектов оно не появляется. Моя компонента - наследник TComponent.
несколько вопросов по созданию компонент
Модератор: Модераторы
- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
Если вы все правильно описали и создали файл ресурсов (название рисунка должно быть таким-же как название компонента учитывая большие и малые буквы, и файл ресурсов должен быть вложен в пакет) - возможно вы просто еще не откомпилировали свои компоненты.
Ну а если вы где-то допустили ошибку в создании проперти которая не публикуется, то покажите исходник, чтоб можно было увидеть где она.
Добавлено спустя 1 минуту 12 секунд:
Если не жаль - можете прикрепить все исходники с файлом ресурсов и пакетом.
Ну а если вы где-то допустили ошибку в создании проперти которая не публикуется, то покажите исходник, чтоб можно было увидеть где она.
Добавлено спустя 1 минуту 12 секунд:
Если не жаль - можете прикрепить все исходники с файлом ресурсов и пакетом.
- bloodlines
- постоялец
- Сообщения: 100
- Зарегистрирован: 05.11.2008 10:26:19
Код: Выделить всё
Если не жаль - можете прикрепить все исходники с файлом ресурсов и пакетом.К сожалению не могу. Но не могли бы вы помочь мне написав небольшой пример относительно создания property для отображения в Object Inspector?
bloodlines
Класс должен быть потомком TPersistent и свойство должно быть как на запись так и на чтение.
Код: Выделить всё
TMyClass=class(TComponent)
published
property MyProp: String read fMyProp write fMyProp;Класс должен быть потомком TPersistent и свойство должно быть как на запись так и на чтение.
а вот и нет, published свойство ТАКЖЕ может быть только для чтения и лазарус его покажет.
По иконке для компонента я так делаю (особенно если много ресурсов). Да и всамом лазаре так сделано:
1.Нужно создать иконку png размером 24x24, обозвав файл как имя класса(я обычно маленкими буквами обзываю) tmycomponent.png
2. далее ложим файл в подпапку images файл tmycomponent.png
3. создаем файл текстовый с содержимым images/tmycomponent.png и в конец файла нужно нажать добавить пустую строку например tmycomponent_list.txt
4. Взять и выполнить из lazarus/tools/lazres tmycomponent.res @tmycomponent_list.txt (есстественно либо пути полные либо относительные до файлов!!!)
5. В текущей рабочей папке создается tmycomponent.res
6. В своем проекте в inititalization пишем {$I tmycomponent.res}
7. Компиляция лазаря
По иконке для компонента я так делаю (особенно если много ресурсов). Да и всамом лазаре так сделано:
1.Нужно создать иконку png размером 24x24, обозвав файл как имя класса(я обычно маленкими буквами обзываю) tmycomponent.png
2. далее ложим файл в подпапку images файл tmycomponent.png
3. создаем файл текстовый с содержимым images/tmycomponent.png и в конец файла нужно нажать добавить пустую строку например tmycomponent_list.txt
4. Взять и выполнить из lazarus/tools/lazres tmycomponent.res @tmycomponent_list.txt (есстественно либо пути полные либо относительные до файлов!!!)
5. В текущей рабочей папке создается tmycomponent.res
6. В своем проекте в inititalization пишем {$I tmycomponent.res}
7. Компиляция лазаря
