Treeview Problem mit TVS_CHECKBOXES Style
-
Hallo Leute,
in meiner Dialoganwendung habe ich einen Treeview der unter anderem den Style "TVS_CHECKBOXES" enthält. Beim Programmstart wird der Treeview mit Items gefüllt, die bedingt durch den Style natürlich auch eine Checkbox haben. Leider kann ich die Items nicht mit gecheckter Checkbox erzeugen.
Füge ich die Items aber zu einem späteren Zeitpunkt (das Fenster ist sichtbar, das Programm läuft einige Sekunden) mit dem gleichen Funktionsaufruf hinzu, dann ist die Checkbox wie geplant auch gecheckt.
Weiterhin ist mir noch folgendes Phänomen aufgefallen, wenn ich beim Programmstart dem Treeview eine Imageliste zuweisse dann funktionier das Einfügen von gecheckten Items auch bei Programmstart. Dann ist natürlich auch das Icon aus der Imageliste hinter der Checkbox, was ich aber nicht will.
Es scheint wohl irgendein Timing Problem zu sein, der Treeeview muss erst sichtbar sein dann können gecheckte Items eingefügt werden (WinXP, Win8.1 und Win7 32/64 Bit identischen Verhalten)
Das Stichwort Timing Problem taucht auch hier auf:
https://msdn.microsoft.com/en-us/library/windows/desktop/bb760013(v=vs.85).aspx
unter TVS_CHECKBOXES als letzter Satz, so bin ich erst drauf gekommen.
Also hab ich den Style im Resourcen Editor weggelassen und zur Laufzeit bei Programmstart manuell gesetzt, dann hat's geklappt. Wie ist sowas möglich, für was kann ich TVS_CHECKBOXES im Resourceneditor einstellen, wenn es später Probleme verursacht und nicht das Verhalten zeigt, was man logisch erwarten darf!.
Ich benutze MS VS2005P
Also das hat mich jetzt einige Stunden aufgehalten, ich weiss nicht was sich MS dabei denkt.
Kann einer der MS Spezialisten dazu mal etwas sagen, wäre nett, danke.
-
http://stackoverflow.com/questions/22441747/c-winapi-creating-treeview-with-nodes-and-checkboxes
http://www.cppblog.com/mydriverc/articles/28298.html