Введение в DELPHI

       

Пример создания компонента


Для примера создадим новый класс, мутант TButton, в котором изменим значение по умолчанию свойства ShowHint на True и добавим новое свойство - счетчик нажатий на кнопку. Заготовка модуля для создания нового компонента уже есть (см. пункт ). Теперь исходный текст выглядит так: unit New_btn; interface uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMyButton = class(TButton) private { Private declarations } FClickCount : Longint; protected { Protected declarations } public { Public declarations } constructor Create(AOwner : TComponent); override; procedure Click; override; property ClickCount : Longint read FClickCount write FClickCount; published { Published declarations } end; procedure Register; implementation constructor TMyButton.Create(AOwner : TComponent); begin inherited Create(AOwner); ShowHint:=True; FClickCount:=0; end; procedure TMyButton.Click; begin Inc(FClickCount); inherited Click; end; procedure Register; begin RegisterComponents('Samples', [TMyButton]); end; end.

Для того, чтобы переопределить начальное значение свойства при создании объекта, нужно переписать конструктор Create, в котором и присвоить этому свойству нужное значение (не забыв перед этим вызвать конструктор предка).

Новое свойство для подсчета нажатий на клавишу называется ClickCount. Его внутреннее поле для сохранения значения - FClickCount имеет тип Longint, емкости поля хватит надолго.



Содержание раздела