Как я могу обнаружить кнопку в шапке в разделе clistctrl
У меня есть диалог (CMeasureLC) с CMFCListCtrl в нем. Я хочу, чтобы пользователь мог редактировать текст в строке заголовка (только в крайнем левом столбце) в ответ на щелчок по ячейке заголовка. Я знаю, как редактировать текст, как только я обнаруживаю щелчок в ячейке, но первая задача - обнаружить щелчок- и я застрял.
Что я уже пробовал:
Я попытался обнаружить его, сопоставив в диалоговом окне. Я использовал ClassWizard для отображения LVN_COLUMNCLICK в диалоговом окне таким образом:
В .ч
afx_msg void OnColumnclickDataList(NMHDR* pNMHDR, LRESULT* pResult);
а в файле .cpp (IDC_DATA_LIST - это идентификатор CListCtrl)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_DATA_LIST, &CMeasureLC::OnColumnclickDataList) ... void CMeasureLC::OnColumnclickDataList(NMHDR* pNMHDR, LRESULT* pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); // TODO: Add your control notification handler code here *pResult = 0; }
Однако это вообще не вызывается, когда я щелкаю в строке заголовка.
На самом деле, единственное отображение, которое я могу получить для работы в диалоге, - это
ON_NOTIFY(NM_CLICK, IDC_DATA_LIST, &CMeasureLC::OnClickDataList)
который реагирует, когда я нажимаю на ячейку в теле элемента управления списком.
Я также попытался подклассировать элемент управления списком и обработать там отраженное сообщение:
ON_NOTIFY_REFLECT(LVN_COLUMNCLICK, &CEditListCtrl::OnLvnColumnclick)
но и это не называется.
Любая помощь была бы очень признательна - я очень запутался в том, куда отправляются уведомления и как их обнаружить.