MFC List Control控件

List Control 控件一共有四種呈現的方式
大圖標、小圖標、列表和報表形式
列表沒有表頭,報表形式有表頭

protected:
CImageList m_imagelist;添加圖片變量可顯示圖片
初始化

m_list.InsertColumn(0,L"第一列", LVCFMT_LEFT,100);
    m_list.InsertColumn(1, L"第二列", LVCFMT_LEFT, 100);

    //創建圖片 32位
    m_imagelist.Create(32, 32, ILC_COLOR32, 1, 1);
    m_imagelist.Add(m_hIcon);
    //設置圖片
    m_list.SetImageList(&m_imagelist, LVSIL_SMALL);//小圖標可以在報表形式中顯示
    m_list.SetImageList(&m_imagelist, LVSIL_NORMAL);//正常圖標在大圖標中顯示

“添加“按鈕

    int nCount = m_list.GetItemCount();//獲取多少行
    int nTemp = 1;
    CString strBuf;
    strBuf.Format(L"第%d行的%d列", nCount + 1,nTemp++);
    m_list.InsertItem(nCount, strBuf, 0);//添加到第n行,第0列

    strBuf.Format(L"第%d行的%d列", nCount + 1, nTemp++);
    m_list.SetItemText(nCount, 1, strBuf);//添加到第n行,第1

刪除

int nCount = m_list.GetItemCount();
    for (int i = nCount - 1;i >= 0;--i)
    {
        if (m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED)//獲取當前單元格狀態,被選中的話刪除
        {
            m_list.DeleteItem(i);
            break;
        }
    }

ComboBox
大圖標、小圖標、列表和報表形式四個選項
CBN_SELCHANGE

//改變ComboBox選項消息
void CListDemoDlg::OnSelchangeComboType()//當選項改變時CBN_SELCHANGE
{
    CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_TYPE);//獲取ComboBox控件
    DWORD dwStyle = 0;
    switch (pComboBox->GetCurSel())
    {
    case 0://大圖標
        dwStyle = LVS_ICON;
        break;
    case 1://小圖標
        dwStyle = LVS_SMALLICON;
        break;
    case 2://list
        dwStyle = LVS_LIST;
        break;
    case 3://詳細信息
        dwStyle = LVS_REPORT;
        break;
    default:
        return;
    }
    m_list.ModifyStyle(LVS_TYPEMASK,dwStyle);
}

效果圖
這裏寫圖片描述

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