Delphi. Создание своих компонентов. Группировка свойств

1О том как создавать свои компоненты много и популярно написано в различных статьях, книгах, источниках. А вот о том, как группировать свойства в инспекторе объектов — информации не так много. Под группировкой свойств я подразумеваю то, что отображено на рисунке слева.

В принципе, ничего сложного, но опять же сам бы я до этого не догадался. Мне помогла с одной стороны книга Внутренний мир Borland Delphi. Раздел — группирование сходных свойств. А с другой статья на сайте sql.ru

Суть в том, что свойства можно группировать при помощи дополнительного класса, происходящего от TComponent или TPersistent.

Также неплохой практикой является просмотр исходников. Можно выбрать интересующий компонент и посмотреть как организовано всё там и сделать по аналогии. Ведь, действительно, много компонентов со сгруппированными свойствами. 

Начали!

Итак, начнем создавать компонент, производный от TreeView, назовём его DBTreeView.

Component > New Component — далее выберем необходимые настройки создания компонента. Я выбрал имя класса нового компонента DBTreeView. Install in new package. И через ряд действий подпадём в модуль нашего компонента.

Для начала выложу весь код модуля создаваемого компонента. Для примера создается 3 сгруппированных свойства и одно отдельно стоящее.

Теперь сделаем Uninstall и Install нашего компонента в Project Manager

2

 

Теперь создадим отдельный проект для тестирования сделанного и посмотрим появились ли наши сгруппированные свойства. А также отдельно стоящее свойство Libmysql32Dir.

3

 

 


Перепишем через TMyParam=class (TComponent)

Если переписать код через TComponent, то он будет выглядеть так…

Тогда сгруппированные свойства у нас будут выглядеть вот так…

4

 

 

Также есть некоторые улучшения по коду, в частности защита приватной ссылки на вложенный объект. Более подробно в посте Дениса Авилова на сайте sql.ru

 

 

 

 

 

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