MFC ClistCtr锁定隐藏某一列
2020-12-04 10:46
标签:处理 显示 result 大小 列表框 pre color turn wpa 通过设置列的宽度为0, 可以隐藏列表框的某一列,但是用户通过拖动列表框的大小,隐藏的列,可能又被显示出来了。 我们可以自己写一个CListEx继承CListCtr,然后捕获拖动的消息,对该消息进行特殊处理。 头文件添加: MFC ClistCtr锁定隐藏某一列 标签:处理 显示 result 大小 列表框 pre color turn wpa 原文地址:https://www.cnblogs.com/ahcc08/p/10987862.htmlBOOL CListEx::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
HD_NOTIFY *pHDN = (HD_NOTIFY*)lParam;
switch (((NMHDR*)lParam)->code)
{
case HDN_BEGINTRACKW://拖动
case HDN_BEGINTRACKA:
// 设定为自己不想改变的列值
if (pHDN->iItem == m_icolLock)
{
*pResult = TRUE;
return TRUE;
}
break;
}
return CListCtrl::OnNotify(wParam, lParam, pResult);
}
// 设置要隐藏的列
void CListEx::LockColoum(int column)
{
m_icolLock = column;
}
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);