![]() |
onDrawItem nochmals ausführen?!
Hi!
Folgendes Szenario: Ich hab ein TListView in dem meine daten ausgegeben werden... mit Ondraw item färbe ich nun meine einträge nach kategorien(gehalt=grün, usw...) das funktioniert alles recht gut, nur jetzt meine frage: 1. wenn sich die kategorie farbe ändert müssten die einträge neu gezeichnet werden 2. kann der benutzer im nachhinein auswählen ob der text, der hintergrund oder gar nichts eingefärbt wird. :gruebel: wie kann ich die ondraw item prozedur nochmals ausführen bzw. hab ich schon was von onadvancedIRGENDWAS gehört...hab aber keine ahnung wie ich das einsetze :? !! danke |
Re: onDrawItem nochmals ausführen?!
Probiers mal mit ListView.Repaint oder ListView.Refresh.
|
Re: onDrawItem nochmals ausführen?!
funktioniert erstmal...danke!!
meld mich wenn ich noch was brauche ;-)!! :wink: |
Re: onDrawItem nochmals ausführen?!
hab noch ein problem:
wenn ich einen neuen listView eintrag hinzufüge ruft er logischerweise automatisch den ondrawitem event auf...die farbe die er verwenden soll bekommt er aber über item.data die zu diesem zeitpunkt aber nicht existiert, wie kann ich das anders lösen?!? :gruebel: zur info: im hintergrund läuft eine access datenbank in der die ganzen infos gespeichert sind(farbe,kategorie usw....) :zwinker: hab mir schon gedacht das ich die farbe aus der datenbank hole weiß aber nicht wie ich den richtigen eintrag rausfiltere ohne dass ich bei mehreren einträgen eine Endlosschleife bekomme...steh gerade ein bisschen auf der leiter, sorry :wall: |
Re: onDrawItem nochmals ausführen?!
Mach vor dem erstellen des Eintrages ListView.Items.BeginUpdate und wenn du alle Einstellungen gesetzt hast ListView.Items.EndUpdate. Dies verhindert das Neuzeichnen.
|
Re: onDrawItem nochmals ausführen?!
Funktioniert leider nicht.... :wall:
der eintrag funktioniert so mittels editfeld wird zB der Betrag eingegeben==> dann in der datenbank gespeichert u. von der datenbank ins LV geladen (in dieser Funktion hab ich das beginUpdate u. EndUpdate eingefügt..) :gruebel: |
Re: onDrawItem nochmals ausführen?!
hab jetzt einfach eine Standard farbe übergeben...somit sind auch die Neuen Einträge abgehoben... :mrgreen:
möchte jetzt einen aktualisieren button hinzufügen damit der benutzer dann selbst entscheiden kann ob er die neuen einträge dann sofort in der richtigen farbe darstellen lassen will oder nicht... hab es mit refresh u. repaint versucht -will aber nicht funktionieren- :wall: wenn ich aber die kategorie verändere, wird die LV neu geladen und die einträge richitg gefärbt...wie kann ich das manuell steuern(onDrawItem selber aufrufen)?!?! :gruebel: ... |
Re: onDrawItem nochmals ausführen?!
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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