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

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

monsters

#1
Пытаюсь раскрасить 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

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