效果如圖:
首先要在初始化對話方塊中設定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...