946 Глава 15

щью его свойства Componentlndex, определенного в классе TComponent. Индексы
отсчитываются от О, т.е. индекс первого компонента равен 0. Общее число компо-
нентов, содержащихся в массиве Components, определяется свойством Componen-
tCount, определенным в классе TComponent. Значение ComponentCount на 1 ме-
ньше последнего индекса массива Components.

Свойство Components может использоваться вместе с ComponentCount в цик-
лах, когда надо изменить какие-то свойства всех компонентов.

Примеры

1. В приведенном ниже примере все компоненты на данной форме, кроме компо-
нента с именем Buttoni, смещаются вправо на 10 единиц.

for(int i = 0; i < ComponentCount; i++)
if(Components[i]->Name != "Buttoni"1)

((TControl *)Components[i])->Left += 10;

2. Ниже приведен аналогичный пример, но используется свойство Tag и сдвига-
ются только компоненты, у которых Tag =1.

for(int i = 0; i < ComponentCount; i++)
if(Components[i]->Tag == 1)

((TControl *)Components[i])->Left += 10;

Constraints________________________________________

Позволяет задавать ограничения на допустимые изменения размеров компо-
нента при изменениях размеров окна приложения

Класс TControl

Определение

_property TSizeConstraints* Constraints

Описание

Свойство Constraints является объетом типа TSizeConstraints. Этот объект
имеет четыре основных свойства: MaxHeight, MaxWidth, MinHeight и Min-

Width — соответственно максимальная высота и ширина и минимальная высота и
ширина компонента. Тип каждого из этих свойств — TConstraintSize — целое без
знака.

По умолчанию значения свойств MaxHeight, MaxWidth, MinHeight и Min-
Width равны 0, что означает отсутствие ограничений. Но задание любому из этих
свойств положительного значения приводит к соответствующему ограничению
размера заданным числом пикселей.

Чтобы какие-то компоненты не исчезали из поля зрения при изменениях по-
льзователем или программой размеров окна приложения, можно задать компонен-
там ограничения минимальной высоты и длины. Таким образом можно поддержи-
вать нормальные пропорции отдельных частей окна. Можно задать ограничения
на минимальные и максимальные размеры формы, т.е. всего окна. Например, если
вы зададите для формы значения MaxHeight = 500 и MaxWidth = 500, то пользо-
ватель не сможет сделать окно большим, чем квадрат 500 х 500. Причем это огра-
ничение будет действовать даже если пользователь нажмет системную кнопку,
разворачивающую окно на весь экран. Окно развернется, но его размеры не превы-
сят заданных. Это иногда полезно делать, чтобы развернутое окно не заслонило ка-
кие-то другие нужные пользователю окна.