MFC ClistCtr锁定隐藏某一列

Posted ahcc08

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC ClistCtr锁定隐藏某一列相关的知识,希望对你有一定的参考价值。

      通过设置列的宽度为0, 可以隐藏列表框的某一列,但是用户通过拖动列表框的大小,隐藏的列,可能又被显示出来了。

     我们可以自己写一个CListEx继承CListCtr,然后捕获拖动的消息,对该消息进行特殊处理。

BOOL 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);

 

以上是关于MFC ClistCtr锁定隐藏某一列的主要内容,如果未能解决你的问题,请参考以下文章

MFC CListctr显示缩略图

怎样隐藏DataTable中的某一列

Excel用宏vb命令怎指定某一列锁定,其他单元格可编辑与合并?

用Javascript,DHTML控制表格的某一列的显示与隐藏

怎么修改datatable中某一列的值?

怎么修改datatable中某一列的值?