Свойства, методы, события, типы, классы_______________________963

Определение

_property int Imagelndex

Описание

Свойство Imagelndex указывает индекс изображения, появляющегося левее
надписи данного раздела меню. Индекс относится к списку изображений — свой-
ству Images родительского меню типа TMenu или TPopupMenu и начинается с 0.
По умолчанию Imagelndex = -1, что означает отсутствие изображения.

Если родительское меню не содержит списка изображений (свойство Images
равно NULL), то для отображения изображения надо использовать свойство Bit-
map компонента типа TMenuItem. Но Bitmap действует только при Images равном
NULL и отрицательном значении Imagelndex. В противном случае значение Bit-
map не принимается во внимание.

Items — свойство класса TList

Список ссылок на элементы массива в объекте класса TList
Класс TList

Определение

_property void * Items[int Index]

Описание

Свойство Items дает доступ к указателям, хранящимся в объекте класса TList.
Параметр Index является индексом массива указателей. Индексы изменяются, на-
чиная с О (О — индекс первого указателя).

Свойство Items позволяет получить доступ и к объектам, на которые указыва-
ют элементы массива. Но при этом надо учитывать, что свойство Items имеет тип
void *, т.е. является нетипизированным указателем. Такой указатель нельзя разы-
меновать непосредственно. Надо использовать явное или неявное приведение ти-
пов. Примеры этого даны ниже, а также в разделе TList.

При организации циклов с просмотром указателей, содержащихся в Items,
надо иметь в виду, что часть из них может быть равна NULL. Если это может нару-
шить работу алгоритма, то предварительно надо применить к объекту TList метод
Pack, который сократит размер массива, удалив из него нулевые указатели.

Пример

// Создание экземпляра списка
TList *List = new TList;

// Создание объектов — строк и занесение их в список:

List->Add((char *)malloc(10));

List->Add((char *)malloc(10)) ;

// Задание значений строк через свойство Items
List->Items[0] = "ааа";

List->Items[1] = "bbb";

// Отображение значений элементов (результат — "ааа" и "bbb")
for (int i = 0; i < List->Count; i++)
ShowMessage((char *)List->Items[i]);

// Удаление из памяти первого элемента
free(List->Items[0]) ;

// Удаление указателя на первый элемент списка
31*