G
GOGA
Здравствуйте, уважаемые господа программисты!!!
Хочу проконсультироваться и найти свою ошибку. Я программно создаю элемент типа CMyListView, который я унаследовал от CListView с флагами:
После чего создаю обработчик для завершения редактирования:
Только вот когда я вывожу информацию в таблицу и щелкаю левой кнопкой мыши на какой-нибудь ячейке, то доступной для редактирования стает всегда ячейка из первой колонки выбранной строки. А мне нужно, чтобы становилась доступной та ячейка, на которую я непосредственно щелкнул мышкой.
Подскажите, можно ли так сделать, если можно то как?
Заранее, СПАСИБО!
Хочу проконсультироваться и найти свою ошибку. Я программно создаю элемент типа CMyListView, который я унаследовал от CListView с флагами:
Код:
GetListCtrl().ModifyStyle( 0, LVS_REPORT | LVS_EDITLABELS);
GetListCtrl().SetExtendedStyle(LVS_EX_FLATSB |
LVS_EX_FULLROWSELECT |
LVS_EX_HEADERDRAGDROP |
LVS_EX_GRIDLINES |
GetListCtrl().GetExtendedStyle() );
После чего создаю обработчик для завершения редактирования:
Код:
...
BEGIN_MESSAGE_MAP(CMyListView, CListView)
...
ON_NOTIFY_REFLECT(LVN_ENDLABELEDIT, OnEditLabelTab)
...
END_MESSAGE_MAP()
...
// И сам обработчик:
...
void CMyListView::OnEditLabelTab(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
CString sEdit = pDispInfo->item.pszText;
if(!sEdit.IsEmpty())
GetListCtrl().SetItemText(pDispInfo->item.iItem, m_nEdit, sEdit);
m_nEdit = -1;
GetListCtrl().SetItemState(pDispInfo->item.iItem, 0, LVNI_FOCUSED | LVNI_SELECTED);
*pResult = 0;
}
...
Только вот когда я вывожу информацию в таблицу и щелкаю левой кнопкой мыши на какой-нибудь ячейке, то доступной для редактирования стает всегда ячейка из первой колонки выбранной строки. А мне нужно, чтобы становилась доступной та ячейка, на которую я непосредственно щелкнул мышкой.
Подскажите, можно ли так сделать, если можно то как?
Заранее, СПАСИБО!