Как мне обновить узел в Virtual TreeView? - PullRequest
0 голосов
/ 26 сентября 2019

Я использую Delphi XE3 и Virtual TreeView.

Я хочу использовать Virtual TreeView для реализации дерева, при нажатии кнопки «Пуск» программа рекурсивно ищет все файлы и папки на диске, затемдобавьте их один за другим в дерево, как в Windows Explorer.Кроме того, должно быть число, указывающее количество файлов и подпапок в папке, используя статический текст, подобный этому:

VirtualTreeView - другой цвет текста в одном узле

В моем имплементации я нахожу, что иногда число не обновляется корректно.

Поэтому я думаю, что следующий способ обновить узел при каждом изменении количества файлов / подпапок:

  1. Вызовите tvItems.Change (PNode) для обновления узла.

  2. Вызовите tvItems.InvalidateNode (PNode).

  3. ВызовtvItems.RepaintNode (PNode).

  4. Вызов tvItems.UpdateAction.

Однако 1 является защищенным методом, который не может быть вызван.2 и 3 в порядке, но не знаю, что лучше для обновления.4 не задокументировано и не знаю как это назвать.

...