1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

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

Тема в разделе "С и С++", создана пользователем monsters, 2 авг 2011.

Статус темы:
Закрыта.
  1. monsters

    monsters Гость

    Репутация:
    0
    Пытаюсь раскрасить TreeView. Все отлично. Нужные ветви и узлы закрашиваются как нужно, но когда дерево очень большее начинаются тормоза. Список узлов и ветвей листается с рывками, при нажатии на узел выделение происходит с задержкой.
    Вот пример моего кода.
    Код:
    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;
    }
    }
     
  2. monsters

    monsters Гость

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

Поделиться этой страницей