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