• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Treeview тормозит после раскраски

  • Автор темы monsters
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

monsters

Пытаюсь раскрасить TreeView. Все отлично. Нужные ветви и узлы закрашиваются как нужно, но когда дерево очень большее начинаются тормоза. Список узлов и ветвей листается с рывками, при нажатии на узел выделение происходит с задержкой.
Вот пример моего кода.
C++:
void __fastcall TForm_sklad::font(TCustomTreeView *Sender, TTreeNode *Node, TCustomDrawState State,
bool &DefaultDraw)
{
if (Node->AbsoluteIndex==TreeView1->Selected->AbsoluteIndex)
{
TreeView1->Canvas->Brush->Color = clMenuHighlight;
TreeView1->Canvas->Font->Color = clWhite;
}
}
 
M

monsters

Вопрос все еще актуален! Удалось выяснить что большее количество системных ресурсов уходит на обращение к Node->AbsoluteIndex и TreeView1->Selected->AbsoluteIndex. Если вынести TreeView1->Selected->AbsoluteIndex за пределы функции то системных ресурсов используется меньше. Например если в другой функции присвоить содержимое TreeView1->Selected->AbsoluteIndex переменной n и сравнивать уже как if (Node->AbsoluteIndex==n). В виду отсутствия времени далее разобраться не успел.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!