Formularelement nicht neuzeichnen
-
Hi,
ich hab ein Formularelement, dass ich während eines Programmabschnittes nicht neuzeichnen möchte, da sonst dieser Abschnitt sehr viel länger dauern würde. Dabei geht es um ein DBGrid, bei dem ich alle Datensätze durchgehen möchte (was der Nutzer aber nicht sehen braucht). Nutze ich Visible=false, ist der Effekt schon ganz gut, aber das Element flackert halt kurz.
Es muss doch auch eine Möglichkeit geben, die Anzeige eines Elements komplett einzufrieren...
-
Hallo
Du willst an einem Symptom herumdoktern, obwohl du das Problem selber beheben solltest. Warum mußt du im Programmcode die Datensätze durchgehen und gleichzeitig dem Benutzer in DBGrid anzeigen? Wenn du solche Stapelarbeiten machen willst, dann verwende TDataSet-Komponenten die nicht mit visuellen Komponenten zusammenhängen. Und sei es weil du zur Laufzeit vor der Stapelarbeit die Verbindung kappst und danach wieder herstellst.
bis bald
akari
-
Bist du auch in meinem anderen Thread?
Ich lade Daten in das DBGrid und möchte die Breite der Spalten automatisch an den Zelleninhalt anpassen. Nun sind es ca. 1200Zeilen, wenn ich die Anzeige während dessen nicht abschalte, sieht man einen schönen Wasserfall, der außerdem gefühlt 10mal so lange dauert, als wenn ich das DBGrid kurz unsichtbar mache.
Sinn und Zweck der ganzen Geschichte ist aber, dass der Nutze sich die Daten angucken kann => DBGrid unbedingt erforderlich.
-
heimchen schrieb:
Dabei geht es um ein DBGrid, bei dem ich alle Datensätze durchgehen möchte (was der Nutzer aber nicht sehen braucht).
Warum machst du das überhaupt im DBGrid, wenn es nicht für die Darstellung bestimmt ist?
Edit: Viel zu langsam
-
-
Hm, naja, der Effekt ist vergleichbar mit Visible = false, es flackert auch...