Tristate Checkboxes im Treeview



  • Hallo,

    ich bin gerade dabei mir einen Tristate Treeview zu "basteln". Ich erkläre mal wie weit ich bis jetzt gekommen bin:
    Also Treeview mit Checkboxes erstellt, Imageliste für die Icons erstellt, die State-Imageliste des Treeeviews geholt und mal ein Icon meiner Wahl eingefügt. So nun das ganze getestet und als Ergebiss kommt raus, dass im Wechsel folgende Checkstate-Icons angezeigt werden, wenn ich auf die Stelle der Checkbox klicke: Unchecked, Checked, mein Icon. Soweit so gut mit entspechenden Regeln beim Klicken bekomme ich den korrekten Tri-Stateablauf auch noch hin.

    Mein eigentliches Problem ist nun ich möchte das Icon 1 (Unchecked) der State-Imageliste kopieren und soweit verändern, dass das weiße Innere z.B. grau ist oder das z.B. sich innnen ein schwarzes Quadrat mit weissem Rand befindet. Da das Programm auch mit verschiedenen Versionen der Common Controls komaptible sein soll möchte ich mein Tri-State Icon nicht im Vorfeld selber erstellen, sondern immer das Icon 1 zur Laufzeit entsprechend laden, verändern und das geänderte Icon der State-Imageliste hinzufügen, so denke ich ist gewärleistet, dass mein Icon immer kompatible zu den vom OS bereitgestellten Icons erscheint. Ist diese Überlegung korrekt?

    Meine Frage nun wie muss ich vorgehen um dies zu bewerkstelligen?

    Danke schon mal im voraus Oxigen


  • Mod

    Schau Dir DrawFrameCOntrol an. Und Custom Draw.

    http://www.codeproject.com/Articles/3294/Yet-Another-Custom-Tree-Control

    Ansonsten ein DrawFrameControl in einen Memory DC... diese Bitmap dann verwendet.


Log in to reply