Выбор предка компонента
Прежде, чем приступить к написанию кода, нужно определиться, хотя бы приблизительно, что за компонент вы собираетесь делать. Далее, исходя из его предполагаемых свойств, определите класс-предок. В VCL имеется несколько базовых классов, рекомендуемых для наследования. Эти классы перечислены в таблице 1.
Таблица 1.Базовые классы VCL.
Класс | Возможности класса |
TObject | Классы, предком которых является данный класс, не являются компонентами. Класс TObject применяется при создании объектов, которые, обычно, являются предками для других компонентов. TObject можно использовать в качестве предка, если с этим компонентом не нужно работать во время дизайна. Это может быть, например, класс, содержащий значения переменных среды (environment) или класс для работы с INI файлами. |
TComponent | Применяется для создания невизуальных компонентов. Данный класс обладает встроенной возможностью сохранять / считывать себя в потоке во время дизайна. |
TGraphicControl | Применяется для создания визуальных неоконных компонентов, т. е. компонентов без дескриптора окна (handle). Потомки данного класса размещаются в клиентской области своих родительских компонентов рисуют прямо на своей поверхности и требуют мало ресурсов Windows. |
TWinControl | Применяется для создания компонентов, имеющих дескриптор окна (handle), который используют при доступе к возможностям Windows через API. Данные компоненты являются компонентами оконного типа и могут содержать в себе другие компоненты. |
TCustomControl | Этот класс является потомком TWinControl и дополняет его областью вывода (канвой). В данный класс добавлен метод Paint для лучшего контроля за прорисовкой компонента. Рекомендуется использовать настоящий класс для создания пользовательских оконных компонентов. |
TCustomClassName | Библиотека визуальных компонентов содержит несколько классов, у которых не все свойства объявлены как published, т. е. доступные из других модулей, но на основе данных классов можно создавать классы-потомки, в которых и объявлять данные свойства. Таким образом, разработчик может создать несколько идентичных классов на основе одного класса ClassName и в каждом из этих классов определять необходимые свойства из набора предопределенных свойств. |
TComponentName | Класс вроде TEdit или TButton. Позволяет создавать компоненты-потомки, предками которых являются обычные компоненты или классы VCL Delphi. Таким образом, если перед разработчиком стоит задача расширить возможности какого-либо компонента Delphi, можно использовать данный классс целью доопределения его свойств и методов или переопределения значения свойств, принимаемых по умолчанию. |
Обратите внимание на то, что для правильного выбора класса-предка, вам нужно очень хорошо ориентироваться в возможностях уже существующих в Delphi классов.
Дата добавления: 2015-09-07; просмотров: 1015;