Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Создание собственных компонентов в Delphi.


Информационный Канал Subscribe.Ru

СОЗДАНИЕ СОБСТВЕННЫХ КОМПОНЕНТОВ В DELPHI

Здравствуй, уважаемый читатель!


Cегодня мы поговорим о том, как вы создаете компоненты.

Как вы создаете компоненты?

Компонентом может быть почти любой элемент программы, которым вы хотите управлять во время разработки. Создание компонента означает производство нового класса от одного из существующих. Вы можете произвести новый компонент от любого существующего компонента, но следующие способы,являются наиболее общими для создания компонентов:

 -   Изменение существующих элементов управления
 -   Создание оригинальных элементов управления
 -   Создание графических элементов управления
 -   Создание подклассов элементов управления Windows
 -   Создание невизуальных компонентов
Следующая таблица суммирует различные виды компонентов и классов, которые вы используете как отправные точки.
Чтобы сделать следующее…
Начните с этого типа
Модифицировать существующий компонент
Любой существующий компонент, такой как TButton или TListBox, или абстрактный компонент типа TCustomListBox
Создать оконный (или widget-based в CLX) элемент управления
TWinControl (TWidgetControl в CLX)
Создать графический элемент управления TGraphicControl
Создать подкласс к элементу управления
Любой Windows (VCL) или widget-based (CLX) элемент управления
Создать невизуальный компонент
TComponent
Вы можете также производить классы, которые не являются компонентами и которыми нельзя манипулировать на форме. Delphi включает много таких классов типа TRegIniFile и TFont.
Изменение существующих элементов управления

Самый простой способ создать компонент - это настроить существующий. Вы можете произвести новый компонент от любого компонента предоставляемого Delphi.

Некоторые элементы управления, такие как списки строк (ListBox) и сетки (Grid), представлены в нескольких вариациях на основную тему. В этих случаях, VCL и CLX включают абстрактный класс (со словом "custom" в его имени, например TCustomGrid),из которого производятся настроенные версии.
Например, вы могли бы хотеть создать специальный список, который не имеет некоторых из свойств стандартного класса TListBox. Вы не можете удалить (скрыть) свойство, унаследованное от класса предка, так что вы должны произвести ваш компонент из кое-чего выше TListBox в иерархии. Вместо того, чтобы вынуждать вас начинать с австрактного класса TWinControl (или TWidgetControl в CLX) и повторно изобретать все функции списка, VCL или CLX предоставляют класс TCustomListBox, который включает свойства списка, но не публикует все из них. Когда вы производите компонент из абстрактного класса подобно TCustomListBox, вы публикуете только те свойства, которые вы хотите сделать доступными в вашем компоненте и оставляете защищенными все остальные.
Раздел Создание свойств объясняет вопрос публикации унаследованных свойств. Раздел Изменение существующего компонента и раздел Настройка сетки (grid) показывают примеры изменения существующих элементов управления.
В следующий раз мы поговорим о создании оригинальных элементов управления.
Полную версию моего рассказа ты найдешь на сайте http://dcomponents.narod.ru
Если у тебя есть свой материал на тему создания компонента и ты готов им поделиться с другими, пиши мне.
Дельфин.
Выпуск 10 от 03.12.2003


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное