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.
好的,我一直在用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.