ListCtrl Zeile für Zeile füllen
-
So wirklich hat das nix gebracht.

Krieg das irgendwie nicht hin.
Hab selber auch keine Idee mehr.
-
Aus der Ferne ohne Code ist es leider nicht ganz so einfach, die richtigen Hinweise zu geben. Den erweiterten LVS_EX_DOUBLEBUFFER-Stil hast Du schon gesetzt?
-
Hm, hatte den Stil noch nicht gesetzt.

Ist dadurch schon etwas besser geworden, es kommt natürlich auch drauf an, wielange das Sleep im Thread ist, will das aber nicht zu lange setzen, wobei es ganz gut mit Sleep(800) bzw Sleep(700) funktioniert.
Ist aber noch nicht ganz verschwunden das Flickern, hab aber grad von der MSDN-Seite n Video zum Thema CustomDraw, Flicker und Drawing in a Window gefunden, werde mir das mal anschauen.

Ist da hier: http://msdn.microsoft.com/de-de/visualc/bb905516(en-us).aspx
Mal sehn, was dabei rauskommt, werde mich dann dazu nochmal melden.
-
Wollte nochmal abschließend was dazu sagen, falls jemand auch ein Problem damit hat.
Habe mich jetzt zwar doch nicht mit dem CustomDraw weiter auseinandergesetzt, aber das Flickern ist bei mir verschwunden, habe folgendes dazu gemacht:
- LVS_EX_DOUBLEBUFFER-Stil ist gesetzt
- setze CListCtrl::SetRedraw(FALSE), dann kommen die Daten ins ListCtrl und danach wird wieder SetRedraw(TRUE) aufgerufen, ich versuche aber auch immer nur das zu aktualisieren, was auch nötig ist
- das größte Problem verursachte bei mir das Ausblenden der horizontalen Scrollbar (CListCtrl::ShowScrollBar(SB_HORZ, FALSE)), hatte das zum Test entfernt und das Flickern ist verschwunden
- ich habe auch nach jedem Sendmessage ein "kurzes" Sleep im Thread, damit läuft es noch um einiges besser in meinem FallDas nochmal als Zusammenfassung falls jemand auch damit nicht klar kommt.
Sonst hilft wahrscheinlich doch nur noch CustomDraw
-
Ein manuelles Ein-/Ausblenden des horizontalen Scrollbalkens ist völlig überflüssig, das macht die Listenansicht bei Verkleinerung/Vergrößerung der Spalten automatisch.
Von einem CListCtrl::ShowScrollBar habe ich im ganzen Thread nichts gelesen, oder habe ich da etwas überlesen?
-
Nein, passt schon, hab das erst am Ende hinzugefügt, wieso ich das eigentlich gemacht habe verstehe ich sowieso nicht, habe mein Projekt jetzt nach längerer Zeit wieder bearbeitet.

Aber du hast recht und natürlich noch vielen Dank für die gute Hilfe.
