Нажатие Escape против Enter вызывает срабатывание LVN_ENDLABELEDIT в CListCtrl - PullRequest
1 голос
/ 02 августа 2010

как я могу различить два, когда поле редактирования пусто в обоих случаях?
когда пользователь нажимает escape, я предполагаю, что пользователь вообще не хочет новое значение, когда
нажата ввод, я предполагаю, что пользователь хочет пустую строку для редактируемого элемента ...

1 Ответ

1 голос
/ 27 августа 2010
BEGIN_MESSAGE_MAP(CMyPropertyPage, CPropertyPage)
//{{AFX_MSG_MAP(CMyPropertyPage)
    ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LIST_CONTROL, OnEndLabelEdit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

void CMyPropertyPage::OnEndLabelEdit(NMHDR* pNMHDR, LRESULT* pResult) 
{
    LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
    if (pDispInfo->item.pszText == NULL)
    {
             //Used clicked escape
     }
     else
     {
            //Data was accepted by user, empty string perhaps?
     }
}
...