Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TListView von den Windows Themen auszuschließen (https://www.delphipraxis.net/129735-tlistview-von-den-windows-themen-auszuschliessen.html)

gispos 24. Feb 2009 19:35


TListView von den Windows Themen auszuschließen
 
Tag auch,
ich suche eine Möglichkeit eine TListView von den Windows Themen auszuschließen.

Ich benutze eine Abgeleitete Klasse der TListView (mit OwnerData = True) und zeichne Bitmaps in der dafür geeigneten Routine OnCustomDrawItem.

Das riesen Problem ist:
Verwende ich die Themen in meiner Application, ist ein extremes flackern durch zu häufiges zeichnen der ListView zu beobachten.

Doppeltbuffer würde das Flackern reduzieren, ist aber verpönt, da zu hohe CPU Lasten beim zeichnen entstehen.

Ich habe bisher auch noch keine Möglichkeit gefunden das normale Paint Ereignis der ListView vom Themen Paint Ereignis zu unterscheiden, was mir dann die Möglichkeiten zum jetzt nicht geben würde.


Also ich bastle an diesem Problem schon über 2 Jahre und komme auf keinen grünen Zweig, bin deshalb für jeden Hinweis dankbar.

Gruß gispos

Bernhard Geyer 24. Feb 2009 19:56

Re: TListView von den Windows Themen auszuschließen
 
Such mal im Forum. Wurde schon öfters gefragt ein Control vom Theming auszunehmen.
Doppelpufferung dürft bei den PC's der letzten 5-8 Jahre kein Problem mehr darstellen. Ob die CPU sich zu 98% oder zu 99% in IDLE läuft ...

Alternativ könntest du anderer Tree-Kompos wie VST oder TElTree verwenden.

Luckie 24. Feb 2009 21:01

Re: TListView von den Windows Themen auszuschließen
 
Hast du es schon mit BeginUpdate und EndUpdate probiert?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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