990_____________________________________________Глава 15

Классы TList, TStringList, TStrings, TMenuItem

Объявление

void   fastcall Delete(int Index);

Описание

Процедура Delete удаляет из списка элемент с указанным индексом. Во всех
случаях индексы считаются, начиная с О (О — индекс первого элемента).

Из списка строк строка удаляется вместе со ссылкой на связанный с ней объ-
ект.

Удаление элемента меню ведет к удалению и связанного с ним подменю (если
таковое имеется).

После удаления элемента список перестраивается. Это надо учитывать при
удалении элементов в цикле, как указано в приведенном примере.

Пример

for (I = 0; I <= 1; I++)
List->Delete (0) ;

В этом примере удаляются два первых элемента списка List. Неверно было бы
написать:

for (1=0; I <= 1; I++)
List->Delete (I) ;

Так как после первого удаления список перестроится, то элементом с индек-
сом 1 станет тот, который ранее имел индекс 2. Таким образом, в результате оказа-
лись бы удаленными элементы, имевшие в первоначальном списке индексы 0 и 2.

DisableAlign_________________________________________

Временно запрещает выравнивание дочерних компонентов
Класс TWinControl

Определение

void   fastcall DisableAlign(void);

Описание

Свойство DisableAlign временно запрещает выравнивание дочерних компо-
нентов внутри оконного элемента — изменение их свойств Align не приводит к их
перестроению. Метод применяется совместно с методом EnableAlign, отменяющим
действие DisableAlign и разрешающим выравнивание.

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

Каждому вызову DisableAlign должен соответствовать вызов EnableAlign.
Очередной вызов DisableAlign увеличивает на единицу число запретов выравнива-
ния, а вызов EnableAlign уменьшает это число. Как только при очередном вызове
EnableAlign число запретов станет равным нулю, произойдет выравнивание. Это
производится вызовом метода Realign.

Пример

Forml->DisableAlign() ;

<операторы перестроения дочерних компонентов>
Forml->EnableAlign();