TreeView RootItem nicht löschen
-
also ich habe eine TreeView um diese bastle ich mir eine Wrapperklasse.
Mein Problem ist die Löschfunktion. Da ich das oberste Item nicht löschen möchte, dachte ich mir, ich gebe ihm einen ein- eindeutigen Namen und schaue dann, ob das ausgewählte Item denn diesen namen trägt.Das Ganze schaut dann so aus:
void delselected () { TV_ITEM tvi; HTREEITEM hItem = getSelection(); tvi.hItem = hItem; tvi.mask = TVIF_HANDLE; TreeView_GetItem(handle, &tvi); if ((strcmp(tvi.pszText, "Kontext" ) != 0 )) TreeView_DeleteItem (handle, hItem); } HTREEITEM getSelection () { return TreeView_GetSelection (handle); }Das Ganze schmiert mir beim strcmp() ab. Kann mir wer erklären, was da falsch ist?
Der Ablauf ist so, daß ich über einen Menüeintrag "Item löschen" das aktuell ausgewählte lösche.
-
Problem hat sich gelöst.
Ich sag nur RTFM
void delselected () { TV_ITEM tvi; char name[32]; HTREEITEM hItem = getSelection(); tvi.hItem = hItem; tvi.pszText = name; tvi.cchTextMax = sizeof(name); tvi.mask = TVIF_TEXT; if (TreeView_GetItem(handle, &tvi) && strcmp(tvi.pszText, "Kontext" ) ) TreeView_DeleteItem (handle, hItem); }