Создание свойств компонента

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

Например, создадим новое свойство - счетчик нажатий на кнопку. Для этого в секции private объявим поле FClickCount: Longint (внутреннее поле для сохранения значения), а в секции published объявим свойство: property ClickCount: Longint read FClickCount write FClickCount. Задание этого свойства в разделе published будет гарантировать доступ к нему в окне инспектора объектов и не потребует написания дополнительных методов для доступа к нему.

Примечание. 1.За ключевым словом write указывается идентификатор поля или метода на запись свойства; метод должен быть процедурой, получающей параметр одного с полем типа. За ключевым словом read указываем идентификатор поля или метода на чтение объекта; метод должен быть функцией, возвращающей значение одного со свойством типа. Одна из этих директив может быть опущена, и тогда значение в поле нельзя будет читать или писать извне (свойство уже не попадёт в Object Inspector).

2. Указание свойства в секции public позволит обращаться к свойству в методах, но в Инспекторе объектов свойство отображаться не будет.

Теперь исходный текст выглядит так:

unit MyButton;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls;

type

TMyButton = class(TButton)

private

FClickCount: Longint;

protected

{ Protected declarations }

public

{ Public declarations }

published

property ClickCount: Longint read FClickCount write

FClickCount;

end;

procedure Register;

implementation

procedure Register;

begin

RegisterComponents('Samples', [TMyButton]);

end;

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: