Заметки
Создание шаблона группы компонентов

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика


Бывают ситуации, когда в различных проектах нам нужна форма с полностью или частично идентичным интерфейсом и/или функционалом. Например форма авторизации или форма “О программе”. Один из способов сделать это – создать форму, накидать на нее компонентов пользовательского интерфейса и реализовать весь необходимый функционал, после чего сохранить форму в репозитории. А затем просто подключать эту форму к другим проектам по мере необходимости. Аналогичного эффекта можно добиться без использования репозитория, путем копирования формы из одного проекта в другой.

Оба способа имеют право на существование, но сейчас хотелось бы рассказать еще об одном способе - создании шаблона группы компонентов, который, если я не ошибаюсь, появился в Delphi 2007. Все очень просто. Создаем на форме необходимый нам пользовательский интерфейс и наделяем его нужным функционалом. Затем выделяем все компоненты и выбираем пункт меню ComponentCreate Component Template… (пункт меню будет доступен, если на форме выделен хотя бы один компонент).

В появившемся диалоговом окне “Component Template Information” можно задать имя класса шаблона (надо быть осторожным, чтобы не дублировать уже имеющиеся имена классов компонентов), выбрать вкладку, на которой будет размещен компонент (если такой вкладки не существует, она будет создана), а так же иконку для создаваемого шаблона (файл формата *.bmp).

При создании шаблона запоминаются как свойства, измененные программистом в инспекторе объектов, так и обработчики событий, связанные с выделенными элементами управления. При этом обработчики событий запоминаются полностью, без фильтрации обращений к другим (не выделенным на форме) компонентам, глобальным переменным, методам и т.д. Соответственно, если в другом проекте такие компоненты (переменные, методы) отсутствуют, то при попытке скомпилировать такой проект будет получено диагностическое сообщение Unknown Identifier.

Как уже было сказано выше, шаблон – это группа из одного или нескольких элементов управления а не единый компонент. Как следствие, после того как такая группа компонентов помещена на форму, можно выделить отдельный элемент управления (или несколько элементов) и удалить, при этом остальные сохранятся на форме.

Шаблоны компонентов сохраняются в файле с расширением *.dct (сокр. от англ. Delphi Component Templates). В зависимости от версии Delphi путь к файлу может немного меняться, на моем компьютере для Delphi XE он имеет следующее место расположения – “c:\Users\Decoding\AppData\Roaming\Embarcadero\BDS\8.0\bds.dct”. Если нам нужно перенести проект, использующий шаблоны, на другое рабочее место, то важно не забыть про этот файл, и перенести его на другой компьютер.

Удалив данный файл мы удалим все созданные нами шаблоны. Если же нужно удалить какой то определенный шаблон, то достаточно щелкнуть по нему правой кнопкой мыши в окне “Tool Palette” и в раскрывшемся меню выбрать пункт 'Delete “имя_шаблона” Button' (это для Delphi XE, в более ранних версиях Delphi, возможно, нужно будет воспользоваться пунктом меню ComponentConfigure Palette).

На этом все, удобного вам программирования!

При использовании материала - ссылка на сайт обязательна