Конференция "Начинающим" » TTreeView, Items.BeginUpdate, Items.EndUpdate, Scroller
 
  • Drowsy © (03.04.17 11:04) [0]
    Проблема: во время заполнения дерева узлами вертикальный скроллер дёргается вверх-вниз.
    Перед заполнение дерева делаю TTreeView.Items.BeginUpdate. Заполнение происходит "тихо", без отображения на экране, но бегунок скроллера дёргается. Как этого избежать?
  • Игорь Шевченко © (03.04.17 11:16) [1]
    LockWindowUpdate например
  • Drowsy © (03.04.17 11:19) [2]
    Сейчас попробую, спасибо. А почему скроллер, вообще, реагирует? По идее  BeginUpdate должен был бы подавлять это.
  • Drowsy © (03.04.17 11:27) [3]
    Посмотрел статью
    http://www.transl-gunsmoker.ru/2010/12/lockwindowupdate_27.html
    Вроде, LockWindowUpdate слишком сурова для моей решения этой "проблемы"...
  • Игорь Шевченко © (03.04.17 11:35) [4]
    "Что LockWindowUpdate делает - это очень просто. Когда окно заблокировано, все попытки нарисовать что-то на нём или дочерних окнах проваливаются. Вместо рисования оконный менеджер запоминает, в каких частях окна рисовали, и обновляет эти области через отправку сообщения WM_PAINT, когда окно разблокируется - восстанавливая этим синхронизацию между видимым на экране и логическим состоянием."
 
Конференция "Начинающим" » TTreeView, Items.BeginUpdate, Items.EndUpdate, Scroller
Есть новые Нет новых   [118477   +39][b:0][p:0]