Как реализовать CEditListCtrl

Как реализовать CEditListCtrl ?. Управление списком с возможностью редактирования (отчет / таблица). У меня есть представление списка в представлении отчета. В нем есть некоторые ценности. Мне нужно расширить это, чтобы отредактировать значения, представленные в представлении списка. Я объявил класс, унаследованный от CListCtrl. И я обработал два сообщения Window, чтобы начать и закончить редактирование. После получения сообщений я показываю текстовое поле. Но я не получаю управления внутри этих обработчиков сообщений. Есть ли способ узнать причину?

Или есть другой способ реализовать это.


person Vinay    schedule 10.11.2008    source источник


Ответы (4)


В Code Project есть несколько удобных элементов управления сеткой, которые могут помочь:

http://www.codeproject.com/KB/miscctrl/gridctrl.aspx

http://www.codeproject.com/KB/library/gridprojects.aspx

http://www.codeproject.com/KB/MFC/UltimateGrid.aspx

person Rob    schedule 10.11.2008

Спасибо за все ответы

Я сделал это легко.

  1. Я обработал сообщение WM_LBUTTONDOWN. Этот обработчик открывает поле редактирования, чтобы получить новое значение для поля.
  2. Обработано LVN_ENDLABELEDIT, чтобы узнать конец обновления.
  3. После получения вышеуказанного сообщения обновите значения.

«Одна вещь, которую я забыл, - это установить флаг в представлении ресурсов для CListCtrl (изменить метки на TRUE)»

Мы должны реализовать OnPaint () (в производном классе CListCtrl), иначе пользовательский интерфейс не будет обновляться должным образом.

person Vinay    schedule 11.11.2008

Вам нужно использовать CComboBox, который в основном представляет собой комбинированный CEdit и CListCtrl.

person SmacL    schedule 10.11.2008
comment
Но я показываю древовидную структуру внутри этого списка. Я думаю, что это невозможно с CComboBox - person Vinay; 10.11.2008
comment
Хорошо, моя ошибка. Вы пробовали использовать CListCtrl :: GetEditControl, чтобы получить CEdit, который можно использовать для редактирования? - person SmacL; 10.11.2008

Этот вопрос также задавали здесь:

Как редактировать столбцы на месте с помощью CListCtrl?

Вы можете прочитать мой ответ на этой странице.

person jussij    schedule 11.11.2008