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

Тип множества часто фигурировал в Object Pascal, и некоторые свойства компонентов Delphi имеют данный тип. Когда вы используете свойство типа set, вы должны учитывать, что каждый элемент множества будет являться отдельным свойством, имеющим логический тип в инспекторе объектов.

Для создания свойства-множества сначала зададим нужный тип:

TMySetTypeFirst = (poFirst, poSecond, poThird);

TMySetType = set of TMySetTypeFirst;

Первая строка задает перечисляемый тип TMySetTypeFirst, который определяет диапазон множества, а вторая строка – само множество TMySetType.

Пример добавления свойства-множества в компонент TMyButton:

type

TMyEnumType = (eFirst, eSecond, eThird);

TMySetTypeFirst = (poFirst, poSecond, poThird);

TMySetType = set of TMySetTypeFirst;

type

TMyButton = class(TButton)

private

FMyEnum: TMyEnumType;

FMyOptions: TMySetType;

protected

{ Protected declarations }

public

{ Public declarations }

published

property MyEnumProp: TMyEnumType read FMyEnum write FMyEnum;

property MyOptions: TMySetType read FMyOptions write

FMyOptions;

end;

В результате, в окне инспектора объектов свойство-множество будет отображаться, как представлено на рисунке 3.

Рис. 3. Свойство-множество MyOptions в новом компоненте TMyButton.