CListCtrl: получить DblClick на HeaderControl - PullRequest
0 голосов
/ 12 марта 2019

Хорошо, я уже писал что-то в MFC, так что будьте терпеливы со мной. У меня есть класс "CMyListCtrl", полученный из CListCtrl, и я просто хочу знать, был ли двойной щелчок левой кнопкой мыши на заголовке столбца.

Поэтому я добавил в свой MESSAGE_MAP:

ON_NOTIFY(HDN_ITEMDBLCLICK, 0, OnDblClickHeader)

и функция для CMyListCltr:

void CMyListCtrl::OnDblClickHeader(NMHDR* pNMHDR, LRESULT* pResult)
{
    HD_NOTIFY *phdn = (HD_NOTIFY *)pNMHDR;
    // TODO: Add your control notification handler code here
    *pResult = 0;
}

Но: OnDblClickHeader никогда не вызывается. Я попробовал:

ON_NOTIFY
ON_NOTIFY_EX
ON_NOTIFY_RANGE (0-0xffff)
ON_NOTIFY_REFLECT
ON_NOTIFY_REFLECT_EX

... но: OnDblClickHeader никогда не вызывается.

Что может быть не так? Должен ли заголовок получить особый стиль?

1 Ответ

2 голосов
/ 12 марта 2019

В соответствии с документацией вы должны убедиться, что ваш контроль соответствует утверждению, что:
Only header controls that are set to the HDS_BUTTONS style send this notification code.

...