[gelöst] CTreeCtrl Anzeige-Problem
-
Hallo, ich habe mit seltsamen Effekten im CTreeCtrl zu kämpfen.
Unter verschiedenen Knoten sollen Dateien unterschiedlichen Typs angezeigt werden.
Ich habe eine beliebige Datei mit Namen "01-Name.xyz" und zwei relativ baugleiche Rechner, jeweils mit WinXP. Auf einem wird korrekterweise "01-Name.xyz" im TreeCtrl angezeigt, auf dem anderen "Name.xyz-01". Klickt man auf den Namen um diesen editierbar zu machen, wirds wieder richtig angezeigt bis der Editiermodus verlassen wird. Dann ist es wieder verdreht.
Worann liegt das?Edit: Wenn ich das Item mit GetItemText() abfrage erhalte ich komischerweise trotzdem wieder den richtigen Namen "01-Name.xyz".
Edit2: Wenn ich direkt bevor ich das Item einfüge den String (LPCTSTR) mit ner MessageBox ausgebe, wird der richtige Name ("01-Name.xyz") ausgegeben
-
Das selbe Problem habe ich nun auch auf nem Windows 7 Ultimate-Rechner festgestellt.
Kann mir jemand sagen, warum auf einigen Rechnern der String (Dateiname) in der TreeCtrl zerhackt und falsch dargestellt wird?Edit:
Das Problem tritt auf, wenn der Dateiname wie folgt aussieht:Zahl + Trennzeichen(- _ .) + name + endung
Angezeigt wird dann: name + endung + trennzeichen + zahl
Edit2 Lösung:
Habe nun rausgefunden, dass das WM_NOTIFY beim Create-Aufruf Schuld war. Eigentlich dachte ich, ich brauche WM_NOTIFY für TVN_SELCHANGED, TVN_KEYDOWN und NM_DBLCLK. Aber die Messagehandler funktionieren komischerweise trotzdem.
Habe ich schon erwähnt, dass es ein MFC-Next-Projekt ist. Bevor ich das Projekt auf MFC-Next umgestellt habe, war das kein Problem.
Warum das aber trotzdem auf einigen Rechnern ein Problem war, auf anderen aber nicht, weiss nur der Teufel.