Сам CListCtrl не поддерживает редакторования ячеек, для этого нужно добавить свой редактор, установить его на место редактируемой ячейки, скопировать в него текст, отредактировать, скопировать текст обратно в список. У меня где-то есть класс "таблица", вот действия по установке редактора:
Код | void CGrid::OnRclick(NMHDR* p, LRESULT* pResult) { NMITEMACTIVATE *np=(NMITEMACTIVATE*)p; ROW=np->iItem; COL=np->iSubItem; CPoint pt(np->ptAction),position; CRect r; if(ROW<0) { // определяем строку с позицией клика(свой метод) ROW=GetCellPoint(position,pt); } // подсвечиваем строку SetSelectionMark(ROW); // прямоугольник выбранной ячейки(свой метод) GetCellRect(ROW,COL,r);() r.DeflateRect(1,1); // "натягиваем" на ячейку редактор Edit.MoveWindow(&r); Edit.ShowWindow(SW_SHOW); Edit.SetFocus(); Edit.SetWindowText( //класс Grid - свой, получаю текст ячейки (*this)[ROW][COL].text() ); *pResult = 0; }
|
* свой метод - его нет в CListCtrl |