Свойства перечислимого типа разрешают выбор значения только из списка, предопределенного разработчиком компонента. Кроме того, в качестве перечислимых могут выступать свойства логического типа. Примером таких свойств являются: Color, DragKind, DragMode, FormStyle. Признаком перечислимого свойства в Инспекторе объектов является появление ниспадающего списка с допустимыми значениями справа от имени свойства.
Перечислимое свойство может создаваться как на основе уже существующих перечислимых типов (TColor, TCursor и т. п.), так и на базе нового типа, описанного в процессе разработки компонентов.
В следующем примере описывается класс TWeekDay, включающий в себя семь значений дней недели:
type TWeekDay =(wdMon, wdTu, wdWe, wdTh, wdFr, wdSa, wdSu);
type
TMyComponent = class(TCustomControl)
private
{ Private declarations }
fDay:TWeekDay;
published
{ Published declarations }
property Day:TWeekDay read fDay write fDay;
end;
По принятой договоренности имена элементов перечислимого типа должны начинаться с двух строчных символов, указывающих на принадлежность к данному классу. В данном случае это символы «w» и «d». На этом примере можно отметить две особенности свойств данного типа:
1) в тексте класс TWeekDay описывается перед объявлением класса разрабатываемого компонента;
2) в ниспадающем списке Инспектора объектов возможные значения перечислимого свойства отображаются не в той последовательности, в которой они были описаны в тексте, а в алфавитном порядке (рис. 14).
Рис. 14
|