По-моему, самое длинное название статьи в моем разделе. Действительно, компоненты смахивают на кирпичики, из которых строится RAD приложение. После довольно долгой вступительной теоретической подготовки подошли наконец к этой самой теме.
У меня есть намерение описать от начала до конца создание какого-нибудь реального компонента. В качестве оного я выбрал TFolderDialog - диалог выбора папки через стандартный диалог Windows. Вообще, создание нового компонента предполагает следующие шаги:
В одном из предыдущих шагов я уже касался темы shell objects - спец. расширение Windows. Его то мы и будем использовать.
Диалог будет представлять собой невизуальный компонент. При некотором рассмотрении можно заметить, что у него будут (обязательно будут) общие свойства с TOpenDialog, TSaveDialog и т.д. Наиболее подходящим предком для компонента является TCommonDialog. Значит, с ним и определились.
Для начала попробуем сделать компонент с помощью New Component Wizard. Особенным ничем он не отличается, но тем не менее помогает чуть-чуть сэкономить усилия. Выбираем File - New - Component. Открывается окно:
Надо лишь выбрать имя предка и имя класса нового копонента. По сложившейся традиции оно должно начинаться с T. Имя файла исходного кода мастер подберет сам. После этого нажимаем OK и вуаля - открыто окно исходного кода! То есть первые два шага по созданию нового компонента мы сделали... Для того, чтобы суметь корректно написать реализацию компонента, необходимо слегка ознакомится с функцией сотоварищи, которая нам в этом поможет.