CListCtrl:在 HeaderControl 上获取 DblClick

CListCtrl: Get DblClick on HeaderControl

好的,我一直在用MFC写东西,所以请耐心等待。我有一个从 CListCtrl 派生的 class "CMyListCtrl",只想知道 column-header 是否已经 double-clicked(左)在 header 上。

所以我添加到我的 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。

可能出了什么问题? header 是否需要特殊样式?

根据 documentation,您必须确保您的控件遵循以下语句:
Only header controls that are set to the HDS_BUTTONS style send this notification code.