OnGetNodeImage(Sender: Object; Args: ITreeNodeGetImageEventArgs);
Sender. Параметр, возвращающий компонент, сгенерировавший событие.
Args. Параметр, позволяющий определить параметры события.
Событие OnGetNodeImage используется при определении изображения возле элемента дерева.
Событие актуально, только если для компонента определено свойство Images.
Событие наступает для каждого элемента дерева в следующих случаях:
Изменяются параметры формы: размеры, состояние;
Осуществляется обновление содержимого формы;
Изменяются параметры компонента: меняется список элементов, сворачивается/разворачивается иерархия, изменяется выделение или фокус у элементов;
Осуществляется прокрутка дерева элементов;
Осуществляется обновление содержимого компонента.
Используя событие OnGetNodeImage, можно отслеживать происходящие изменения и при наступлении определенных условий получать или изменять изображение элемента дерева. Элемент, для которого сгенерировано текущее событие, будет доступен в свойстве Node аргумента события Args. В свойстве Result аргумента события можно получить индекс изображения, которое установлено для элемента. Указав новое значение для свойства Result, можно изменить изображение для элемента.
Для выполнения примера предполагается наличие формы, расположенного на ней компонента TreeList с наименованием «TreeList1» и какого-либо компонента ImageList, который является источником изображений для «TreeList1». В ImageList загружены минимум два изображения.
Sub TreeList1OnGetNodeImage(Sender: Object; Args: ITreeNodeGetImageEventArgs);
Begin
If Args.Node.Selected Then
Args.Result := 0;
Else
Args.Result := 1;
End If;
End Sub TreeList1OnGetNodeImage;
При наступлении события осуществляется проверка наличия отметки у элемента. Если элемент отмечен, то в качестве его изображения будет использоваться первое изображения из коллекции изображений. Если элемент не отмечен, то для него устанавливается второе изображение.
См. также: