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

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

Например, создадим новое свойство - счетчик нажатий на кнопку. Для этого в секции 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.








Дата добавления: 2015-09-07; просмотров: 783;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.