AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ShllListView flackert

Ein Thema von ereetzer · begonnen am 11. Dez 2004 · letzter Beitrag vom 18. Dez 2004
Antwort Antwort
ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#1

ShllListView flackert

  Alt 11. Dez 2004, 22:14
Hallo,

habe hier die Situation, daß ich mir per Buttonclick ein Form aufrufe und dort eine Protokolldatei in einem
Stringgrid anzeigen lasse.

Während nun das Stringgrid gefüllt wird, flackert auf dem Hauptformular die ShellListView-Komponente. Das ist sehr störend.

Mein Problem ist nun, daß ich nicht weiß, wie 1. das flackern kommt (in dem Augenblick mache ich doch gar nichts mit der ShellListview) und 2. natürlich, wie ich das flackern weg bekomme.

Hat jemand eine Idee.
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: ShllListView flackert

  Alt 14. Dez 2004, 11:29
Vermutlich wird ein Teil Deines Formulares (oder sogar das ganze) angewiesen, sich neu zu zeichnen.

Probiere mal (zur Laufzeit) DoubleBuffered vom Formular auf True zu setzen.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: ShllListView flackert

  Alt 14. Dez 2004, 11:33
Gibt es nicht beim StringGrid soetwas wie BeginUpdate und EndUpdate. Dann könnte man es darüber lösen, da dies auch wesentlich schneller wär.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#4

Re: ShllListView flackert

  Alt 14. Dez 2004, 11:44
versuch mal beim befüllen den fokus auf das stringgrid zu legen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: ShllListView flackert

  Alt 14. Dez 2004, 11:48
Zitat von jim_raynor:
Gibt es nicht beim StringGrid soetwas wie BeginUpdate und EndUpdate. Dann könnte man es darüber lösen, da dies auch wesentlich schneller wär.
Guckst Du genau hier
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#6

Re: ShllListView flackert

  Alt 14. Dez 2004, 21:01
danke soweit für die Tips.

Leider klappt das alles nicht.

Zitat:
Mario Verfasst am: 14.12.2004, 11:29 Titel: Re: ShllListView flackert
Vermutlich wird ein Teil Deines Formulares (oder sogar das ganze) angewiesen, sich neu zu zeichnen.
wie kann ich denn herausfinden ob dem so ist ?

ereetzer
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: ShllListView flackert

  Alt 14. Dez 2004, 21:19
Zitat von ereetzer:
wie kann ich denn herausfinden ob dem so ist ?
Ist das nicht eigentlich offensichtlich, wenn es flackert?

Mir fällt gerade was auf: Auf dem Hauptform zeigt die ShellListView nicht zufällig das Verzeichnis an, in dem Du arbeitest? Falls ja solltest Du beim Aufruf des Forms versuchen diese stillzulegen (BeginUpdate)...
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
ereetzer

Registriert seit: 21. Mär 2003
86 Beiträge
 
Delphi XE Starter
 
#8

Re: ShllListView flackert

  Alt 18. Dez 2004, 11:47
für alle die es interessiert, habe ich folgende flackerfreie Lösung gefunden:


Die folgende Funktion wird mit dem vorrübergehend einzufrierenden Fenster aufgerufen. (Natürlich das "aufwecken" em Ende nicht vergessen)

Delphi-Quellcode:
procedure LockWinControl(const WC: TWinControl; ALock: Boolean);
begin
  if (not Assigned(WC)) or (WC.Handle = 0) then
    exit;
  if ALock then WC.Perform(WM_SETREDRAW, 0, 0) else
  begin WC.Perform(WM_SETREDRAW, 1, 0);
    RedrawWindow(WC.Handle, nil, 0, RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
  end;
end;

ereetzer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz