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

效果图
这里写图片描述

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