Sloenig Geschrieben 21. Mai 2007 Geschrieben 21. Mai 2007 Hallo, Möchte in einer Strukturansicht und MSVC++ 6.0 jedem der einzelnen Knoten neben dem eigenen Namen, eine eindeutige ID zuweisen. Benutze zum einfügen der einzelnen Knoten die Struktur TV_INSERTSTRUCT. Wenn ich die ID in der Variable lParam speichern möchte, kommt beim auslesen bei jedem Knoten derselbe Wert raus. Ist es überhaupt möglich jedem Knoten eine eindeutige ID zuzuweisen? Hier mein Code: Insert: tvinsert.hParent=parent; tvinsert.item.lParam=atoi((char*)(*(*rs)[0])); tvinsert.hInsertAfter=TVI_LAST; tvinsert.item.mask=TVIF_TEXT; tvinsert.item.hItem=NULL; AfxMessageBox(_itoa(tvinsert.item.cChildren,str,10),MB_OK,0); tvinsert.item.pszText=(char*)(*(*rs)[1]); Auslesen: NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; char str[255]; m_PlaceID = pNMTreeView->itemNew.lParam; danke, Sloenig Zitieren
Klotzkopp Geschrieben 21. Mai 2007 Geschrieben 21. Mai 2007 Es reicht nicht, einfach nur lParam einen Wert zuzuweisen. Du musst zusätzlich bei mask TVIF_PARAM angeben. Zitieren
Sloenig Geschrieben 21. Mai 2007 Autor Geschrieben 21. Mai 2007 danke das funktioniert dann auch, allerdings werden dann in der Liste keine Namen mehr angezeigt. Dort sind dann in den verschiedenen Knotenpunkten nur noch Leerzeichen, sprich man sieht nix in der Liste aber die Punkte sind da, wenn man zufällig das leerzeichen erwischt Zitieren
Klotzkopp Geschrieben 21. Mai 2007 Geschrieben 21. Mai 2007 Hast du etwa TVIF_TEXT entfernt? Du brauchst schon beide Flags. Zitieren
Sloenig Geschrieben 21. Mai 2007 Autor Geschrieben 21. Mai 2007 wie kann man denn beide Flags da rein schreiben? Zitieren
Sloenig Geschrieben 21. Mai 2007 Autor Geschrieben 21. Mai 2007 habs hingekriegt. Musste man ja nur addieren. Nochmal danke Zitieren
Klotzkopp Geschrieben 21. Mai 2007 Geschrieben 21. Mai 2007 habs hingekriegt. Musste man ja nur addieren.Flags sollte man nicht addieren, sondern mit dem bitweise-oder-Operator zusammenfügen: TVIF_PARAM | TVIF_TEXT Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.