CListCtrl - welcher Event Handler zum Verändern von Einträgen
-
Hallo,
ich habe eine CListCtrl - Liste und möchte jetzt einige Einträge verändern (EDIT Labels ist auf "true" gesetzt). Wenn ich auf ein Feld klicke kann ich es verändern - danach soll nur der neue Wert ausgelesen werden und wieder geschrieben werden...
Welches Ereigniss muss ich wählen???
Hatte gedacht dies wäre richtig, aber es crashed - sowie ich klicke und andere hatte ich auch schon erfolglos probiert:void Cdb_in_CListCtrlDlg::OnLvnItemchangedList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); CString temp; int selection=m_List.GetSelectionMark(); temp=m_List.GetItemText(selection,0); m_List.SetItemText(selection,1,temp); *pResult = 0; }meine zweite Frage wäre, wie bekomme ich es hin das ich auch die Items in den anderen Spalten ändern kann, momentan kann ich nur die ersten Spalteneinträge anklicken...
-
Hi.
Ich habe mir von Codeproject.com ne Klasse "CReportCtrl" runtergeladen die das genze vereinfacht. Du kannst alle Spalten editieren und wenn das bearbeiten des Textes fertig ist, dann musst du im Hauptdialog nur nen WM_EDIT_COMMITTED abfangen.
Oder laber ich jetzt an der Frage vorbei?
-
OnEndLabelEdit
Devil
-
@the_alien - die klasse sieht das aber nicht vor... ich will ja nur das Ereigniss abfangen und daraufhin meine db updaten -> direkt nach der änderung...
@devil OnEndLabelEdit - ok habe ich... funzt soweit auch, bloss das der geänderte Text nicht geupdated wird sondern der alte wird wieder geschrieben. wie kann man die änderung abfangen??