Учись программированию на C++ Builder бесплатно!

Описание


Свойство Controls является массивом всех дочерних компонентов данного оконного элемента. Дочерними являются те компоненты, которые расположены в клиентской области данного оконного элемента и в свойстве Parent, которых указан как родитель данный элемент. Параметр Index определяет * индекс соответствующего компонента. Индекс, начинающийся с 0, соответствует положению компонента в Z-последовательность данного родительского элемента.

Свойство Controls обычно используется в итеративных процедурах групповой обработки дочерних компонентов, когда на них неудобно ссылаться по имени. В подобных итеративных процедурах обычно используется также свойство ControlCount, определяющее число дочерних компонентов.

Классы


TWinControl

Определение


property TControl* Controls[int Index]

Пример


Пусть в приложении в классе формы определена некоторая функция:

void __fastcall Func(TObject *Sender);

которая обрабатывает объект, передаваемый в нее через аргумент Sender. Это может быть какая-то процедура изменения размеров и места расположения, окрашивания, перестановок и т.д. Например, она может содержать оператор:

((TControl *)Sender)->Left += 10;

сдвигающий объект на 10 пикселов вправо. Тогда обработать этой процедурой все дочерние компоненты, например, панели Panel1 можно с помощью оператора:

for(int i = 0; i < Panel1->ControlCount; i++)
Func(Panel1->Controls[i]);

Свойство Controls предназначено только для чтения. Оно изменяется (точнее меняются индексы компонентов) при изменении Z-последовательности.

Изменить Z-последовательность в процессе проектирования можно, выполнением команд BringТоFront или SendToBack. Первая из них пересылает выделенный компонент наверх, присваивая ему максимальный индекс, а вторая пересылает вниз, присваивая ему минимальный индекс (0 для неоконных компонентов и минимально возможный для оконных, поскольку всегда неоконные компоненты имеют индекс меньше оконных). Выполнить эти команды можно или из раздела меню Edit, или щелкнув правой кнопкой мыши и выбрав их из всплывающего меню.

Программно место компонента в Z-последовательности можно изменить методами BrineToFront и SendToBack. На Z-последовательность влияют также методы InsertControl и RemovteControl, добавляющие и удаляющие дочерние компоненты, и изменение свойства компонентов Parent, меняющее родителя компонента.


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