zoukankan      html  css  js  c++  java
  • 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);
    高山流水,海纳百川!
  • 相关阅读:
    THUWC2020 游记
    USACO14MAR The Lazy Cow(Gold)
    luogu P3768 简单的数学题
    2017/9/22模拟赛
    2017/9/20模拟赛
    2017/9/15模拟赛
    刷屏代码·稳 from林凯
    2017/9/13模拟赛
    【9018:1368】八数码
    2017/9/10模拟赛
  • 原文地址:https://www.cnblogs.com/ahcc08/p/10987862.html
Copyright © 2011-2022 走看看