Multi-color in CListCtrl



  • Hi Allerseits,

    ich stolper grad wieder mal über n kl. ListCtrl-Problem und ich hoffe, ihr könnt mir da den ein oder anderen nützlichen Tipp geben.

    Umsetzten würde ich gern eine Liste, in der ich innerhalb eines Items/ Subitems die Farbe hinter der Schrift ändern kann.
    Um es näher zu erläutern...
    In der Liste stehen unterschiedliche Einträge, zu dem es in einer Spalte noch Bemerkungen wie Fehler oder Hinweise stehen. Um es dem Benutzer übersichtlicher zu gestalten, würde ich gern einzelne Textpassagen (z.B. "Fehler:" oder "Hinweis:") färben, wobei der Fehler-/ Hinweis-Text selbst eine andere bzw. normale Hintergrundfarbe besitzt.

    Ganze Items/ Subitems färben habe ich bereits erfolgreich mit NM_CUSTOMDRAW umsetzen können, bei der Text- und Hintergrund-Farbe gesetzt werden. Nur kann ich in einem Subitem irgendwie mehrere Farben unterbringen?

    Ich hoffe, ihr könnt mir irgendwie helfen.

    LG
    Antivirus


  • Mod

    Mit NM_CUSTOMDRAW kann man auch subitems einfärben.



  • Das ich in NM_CUSTOMDRAW auch Subitems einfärben kann, is mir bekannt.
    Allerdings würde ich gern noch einen Schritt weiter gehen. Hier zum Verständnis vielleicht nochmal n Beispiel:
    In einem (Sub)Item soll folgender Text stehen: "Error: Datei nicht gefunden!"
    Ich möchte jetz nich das ganze Subitem beispielsweise rot markieren, sondern nur das Wort "Error:" und danach soll es mit einer anderen Farbe weitergehen.

    Kann man sowas irgendwie realisieren? In welcher Funktion wird evtl. direkt gezeichnet, dass ich da den Item-Text auswerten und ggf. farbig hinterlegen kann?
    Dachte da vielleicht so an die Möglichkeit, den Text auswerten und ggf. die Länge des Textes für's Zeichnen bestimmen, damit ich dafür n farbiges Rechteck vorbereite, wo dann nur der Text drübergelegt wird.


  • Mod

    Dann musst Du dieses Item selber zeichnen. Auch das kann man ja mit NM_CUSTOMDRAW.

    Ich würde dies mit mehreren aufeinader folgenden Aufrufen fon DrawText/TextOut machen.



  • So. Jetz hab ich's zusammen.
    Hatte vorher schon die Subitem-Farben für die Defaultzeichung festgelegt und Windows selbst zeichnen lassen. Jetz zeichne ich alles allein.
    Danke Martin für Deine Hilfe.

    Das Thema kann geschlossen werden.


Anmelden zum Antworten