Я скрыл некоторые элементы VirtualTreeView, используя VirtualTree.IsVisible[n] := false;
.Как выбратьВсе только видимые элементы VirtualTreeView?
В одной функции я повторяю все выбранные элементы, используя метод VirtualTree.GetNextSelected(n);
. Но есть проблема: если я вручную выберу несколько элементов, например, используя CTRL-клик или SHIFT, выбираются элементы, которые получают петлю.
Но если я нажимаю CTRL + A, чтобы выбрать все, то GetNextSelected
дает мне все узлы, в том числе скрытые.
Я сделал обходное решение, проверив if (VirtualTree.IsVisible[n]) ...
, чтобы избежать прокрутки всех элементов и выбрать только видимые, но это похоже на ошибку, или, возможно, есть опция, которая контролирует поведение CTRL + A - будет ли она выбирать только видимые узлы или все они?
Так это ошибка или, может быть, я пропустил какой-либо вариант выбора (я их изучил), или я должен использовать какой-либо другой метод для циклирования только через видимые узлы?
Это выбор дизайна, а не ошибка. Вам придется приспособиться к нему. –
@DavidHeffernan Вы уверены, что это так? Почему при выборе клавиш клавиатуры SHIFT + ARROW выбираются только видимые узлы, а не все заметки между видимыми узлами, которые скрыты? Странно, что CTRL + A будет выбирать скрытые, но SHIFT + Arrow не будет? – Coder12345
Что касается CTRL + Virtual TreeView ведет себя как большинство других элементов управления и Проводника Windows, для пользователя было бы неожиданным поведение, и, по моему мнению, это был бы плохой выбор. –