X
Hallo @ all,
also ich habe hier schon oft gesehen das leute gerne im ListCtrl die Labels Editieren wollen. Ich habe es damals so gemacht wie wohl auch der rest hier unzwar rausbekommen welches Item ausgewählt ist dann Editfeld in die zeile malen und den text dann ersetzen. Ich habe nun eine leichtere Methode gefunden allerdings hat sie eine Einschränkung, man kan nur das Item bearbeiten nciht die SubItems. Aber wer nur Eine spalte hat und trotzdem Editieren möchte sollte sich das hier ansehen.
Also zu erst macht ihr euer CListCtrl im Resourcen Editor und erzeugt dann eine membervariable vom Typ Control damit ihr auf dea ListCtrl zugreifen könnt.
So als nächstes müst ihr die nachricht:LVN_ENDLABELEDIT überschreiben, das hier ist nun ein bsp indem ich den text des editierten Items einfach ersetzte man kann ihn aber auch nutzen und dann speichern ect. also hier das bsp:
m_ListCtrl.GetEditControl()->GetWindowText(text); // damit greift ihr einfach den eingegebenen
Text des Editfelds ab und speichert ihn in die variable text vom Typ CString
// damit wird einfach das ausgewählte Item mit dem neuen text aus der variable text versehen.
m_ListCtrl.SetItem(m_ListCtrl.GetSelectionMark(),0,LVIF_TEXT,text,0,0,0,0);
So das war doch einfach oder hoffe das es jemandem hilft und vieleicht ist es ja was für die faq auch wenn es wirklich absolut simpel ist.
Schönen abend