Dann geh ich mal etwas auf Deine Fragen ein:
OK bei deiner Version brauch ich 3 Blöcke..
Eine eigene Prozedur
Dann ein Block für die Erste Spalte (Caption)
Dann ein Block für die 2te bis xte Spalte (Subitems).
Geht das nicht theoretisch auch ohne eigene Prozedur
Wie Du ans Ziel gelangst liegt ausschließlich an Dir, Du kannst gerne die benötigten Teile in entsprechende Events kopieren.
Ehm ich möchte dich nicht veräppeln oder dir deine Zeit stehlen ich lese was du schreibst und bin darüber sehr Dankbar... Ich habe auch deine Zeilen verstanden. Nur wenn ich es nachmache bei mir im Programm macht er es nicht.
Zeige mir Dein Source dann sieht man wo Du was falsch machst, wenn Du mein Source von oben 1:1 kopierst und benutzt funktioniert alles nach besten Wissen und Gewissen.
Es stellt sich mir die Frage warum mit eigener Prozedur das versteh ich wirklich nicht... Tut mir leid das ich zu blöde bin
Das dient mir nur dazu um nicht das benötigte doppelt in den Events schreiben zu müssen und sollte in erster Linie Dir helfen, da die Farben nach Spalten angeordnet sind und so Fehler vermieden werden.
...
warum du es gerade so tust keine ahnung
...
und noch ne frage wie färbst du den die erste spalte ohne case und ohne prozedur oder nutzt du das immer auch dann wenn du nur die erste spalte färben willst
Die
VCL sieht vor das man bestimmt Dinge in bestimmten Events ausführt.
Da gibt es, wie Du bereits selbst gemerkt hast mehrere Events.
OnCustomDrawItem dient dabei dem Hauptelement (Spalte 1) Aufmerksamkeit zukommen zu lassen.
OnCustomDrawSubItem wird sich dann vermutlich um alles nach Spalte 1 kümmern.
OnCustomDraw benutze ich wenn ich zum Beispiel ein Hintergrundbild haben möchte.
Worauf ich hinaus will ist, benutze für das was Du erreichen möchtest das entsprechende Event.
Ein Erzwingen ist sicherlich möglich aber ob es Sinnvoll wäre mag ich bezweifeln.
Grüße