CListCtrl隱藏某一列並不允許手動調整該列寬

1、將要隱藏列的列寬設置爲0

        m_ctrlList.SetColumnWidth(i, 0);    //i爲要隱藏的列的索引

2、禁止手動調整列寬

        添加HDN_BEGINTRACK事件響應函數:

        void CXXX::OnHdnBegintrackList(NMHDR *pNMHDR, LRESULT *pResult)
        {
            LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR);
            // TODO: 在此添加控件通知處理程序代碼

            *pResult = 0; 
         } 

        在函數中修改代碼:

        void CXXX::OnHdnBegintrackList(NMHDR *pNMHDR, LRESULT *pResult)
        {
            LPNMHEADER phdr = reinterpret_cast<LPNMHEADER>(pNMHDR);
            // TODO: 在此添加控件通知處理程序代碼

            if((phdr->iItem == i)      //i爲要隱藏的列的索引 
            { 
                *pResult = 1; 
            } 
            else 
            { 
                *pResult = 0; 
            } 
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章