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);
    高山流水,海纳百川!
  • 相关阅读:
    大神总结的
    更改Xcode的缺省公司名
    iPhone分辨率
    iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
    storyBoard(tableViewl)
    storyBoard
    XIB可视化编程
    UITableView(五)
    UITableView(四)
    UITableView(三)
  • 原文地址:https://www.cnblogs.com/ahcc08/p/10987862.html
Copyright © 2011-2022 走看看