![]() |
Scrollbar zeigt komisches Verhalten
Hallo,
ich habe eine TTreeView-Komponente und einen Thread, der in regelmäßigen Abständen mittels Synchronize die Daten des TreeViews aktualisiert.
Delphi-Quellcode:
Problem: Wenn ich gerade am scrollen bin, d.h. die Maus ist gedrückt, und der Thread jetzt den oberen Block abarbeitet, entstehen komische Nebeneffekte:
ATreeView.Items.BeginUpdate;
try ATreeView.Items.Clear; // ATreeView neu füllen ATreeView.FullExpand; finally ATreeView.Items.EndUpdate; end; Keine Komponente reagiert auf Mausklicks, außer das TreeView selbst - Markierungen werden gesetzt, scrollen geht jedoch nur noch mit Mausrad. Auch das X oben rechts zum Schließen des Fensters will nicht - leuchtet nur auf (Win7), ein Rechtsklick in die Taskleiste und dort auf Schließen geht. Weiß jemand, wie ich das verhindern kann? Grüßchen, Björn |
Re: Scrollbar zeigt komisches Verhalten
Ich hol mal dezent nach oben...
Wie ich inzwischen bei einem anderen Programm, auch in Delphi geschrieben, entdeckt habe, kann man herausfinden, ob die Scrollbar (in dem Fall einer TListView) benutzt wird. Das wär die optimale Lösung für mich. D.h. bevor der Thread die Daten im meinem TreeView aktualisiert, würde ich gerne prüfen, ob die Scrollbar in Benutzung ist und warten, bis sie losgelassen wird. Ich hoffe mal, dass ich so das Fehlverhalten der ganzen Komponenten umgehen kann... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz