Listcontrol Item hinzufügen
-
hallo!
ich will in eine List Control Item hinzufügen...hab da die methode SetItem gefunden...wie füg ich da am besten Items hinzu...will nur eine spalte haben, in der nacheinander nahmen stehen, vielleicht noch vor dem namen ein keines image...m_ListCtrl.SetItem(0,..?
cu
-
Schu mal, das könnte dir vielleicht helfen:
UpdateData(true); MyList.AddHead(m_Text); m_ListControl.DeleteAllItems(); int index; POSITION pos=MyList.GetHeadPosition(); while(pos!=NULL) { index = m_ListControl.InsertItem(m_ListControl.GetItemCount(), ""); m_ListControl.SetItemText(index,0,MyList.GetNext(pos)); }
Als erstes wird in eine Liste (MyList) ganz oben der Wert reingeschrieben, den der Benutzter in ein txt feld mit der Membervariable m_Text eingetippt hat. Danach wird alles in der sichtbaren Liste im Dialog (m_ListControl) gelöscht. Danach wird die oberste Position deiner Liste ermittelt. Die while Schleife läuft solange bis man sich am Ende der Liste befindet. In der whileschleife werden die Werte aus der Liste ermittelt und in dein Listcontrol geschrieben.
Dein ListControl und deine Liste sind unabhängig voneinander.Es gibt sicher andere, bessere Möglichkeiten, aber hoffe sie ist verständlich.
~Zanerva
-
Ich fand das was Zanerva geschrieben hat zu umständlich, also hier noch ne Version
m_ListCtrl.InsertColumn(0,"Spaltenname", LVCFMT_LEFT, 155); // 0 ist die Spaltennummer, LVCFMT_LEFT, ist die Ausrichtung vom "Spaltennamen" und 155 ist die Spaltenbreite... int iItem = m_ListCtrl.InsertItem(0,"Name1"); // Jetzt kannst de deine Einträge einfügen... 0 ist die Spaltennummer m_ListCtrl.SetItemText(iItem,0,"Name2"); m_ListCtrl.SetItemText(iItem,0,"Name3"); m_ListCtrl.SetItemText(iItem,0,"Name4");