MFC ListCtrl 列表控制項

2021-07-10 18:13:05 字數 1887 閱讀 6604

效果如圖:

首先要在初始化對話方塊中設定listctrl的表頭,正常圖示,小圖示

表頭設定如下:

//獲取指向列表控制項的指標

clistctrl* plc = (clistctrl*)getdlgitem(idc_list);

//改變檢視為詳細資訊(report)

plc->modifystyle(lvs_typemask, lvs_icon);

//插入表頭

plc->insertcolumn(0, _t("第一列"), lvcfmt_left,150);

plc->insertcolumn(1, _t("第二列"), lvcfmt_left,150);

設定圖示,我用的是32位和16的bmp點陣圖,把它新增到資源中

然後在標頭檔案中新增兩個cimagelist變數

cimagelist m_lagericon;

cimagelist m_smallicon;

接在在初始化對話方塊中進行載入

//建立大圖示

m_lagericon.create(idb_bmp_large, 32, 1, rgb(255, 0, 0));

//建立小圖示

m_smallicon.create(idb_bmp_small, 16, 1, rgb(255, 0, 0));

plc->setimagelist(&m_lagericon, lvsil_normal);//顯示正常圖示

plc->setimagelist(&m_smallicon, lvsil_small);//顯示小圖示

列表初始化已經完成,接著向列表新增行

int icount = m_list.getitemcount();//獲取列表中有多少行

cstring strtext;

strtext.format(_t("第 %d 行,第 1 列"), icount + 1);

m_list.insertitem(icount, strtext); //第一列的行要用插入

strtext.format(_t("第 %d 行,第 2 列"), icount + 1);

//第二列以後就要用設定item文字,第乙個引數是行,第二個是列,第三個是插入的字串

m_list.setitemtext(icount,1,strtext);

接著可以刪除列表中的項

int icount = m_list.getitemcount();

//可以多選然後刪除

for (int i = icount; i >= 0; i--)

}

接下來就是改變列表檢視,我用了個組合框,當選中某乙個view的時候就顯示那個view.右鍵單擊組合框新增事件

void cmfctestdlg::oncbnselchangecombo1()

}

MFC ListCtrl控制項的使用

說明 這篇部落格記錄的是mfc listctrl控制項使用的方式及呼叫的相關的api。一 相關的工程設定,及變數宣告不做詳細說明。1 標頭檔案 public listctrl控制項變數 clistctrl m listctrl int row 插入空白資料行 void insertdata 獲取控制...

MFC ListCtrl和IP控制項的使用雜記

listctrl中選中內容的提取 新增乙個 list 控制項 變數 m list position pos m list.getfirstselecteditemposition if pos null 4 為 第幾列 cipaddressctrl類的使用 ip位址與cstring的互相轉化 將cs...

MFC ListCtrl和IP控制項的使用雜記

listctrl中選中內容的提取 新增乙個 list 控制項 變數 m list position pos m list.getfirstselecteditemposition if pos null 4 為 第幾列 cipaddressctrl類的使用 ip位址與cstring的互相轉化 將cs...