1、listcontrol初始化
listcontrol初始化**新增在虛函式cdlg***::oninitdialog()中:
m_mylist.modifystyle(0l,lvs_showselalways);
dword dwstyle = m_mylist.getextendedstyle();
dwstyle |= lvs_ex_fullrowselect;//選中某行使整行高亮(只適用與report風格的listctrl)
dwstyle |= lvs_ex_gridlines;//網格線(只適用與report風格的listctrl)
// dwstyle |= lvs_ex_checkboxes;//item前生成checkbox控制項
m_mylist.setextendedstyle(dwstyle);
//設定列標題
m_mylist.insertcolumn(0,_t(""));
m_mylist.insertcolumn(1,_t("編號"),lvcfmt_cencter,80);
m_mylist.insertcolumn(2,_t("名稱"),lvcfmt_left,100);
m_mylist.insertcolumn(3,_t("單價"),lvcfmt_right,80);
......
//insertcolumn第三個引數可設定為lvcfmt_left, lvcfmt_right, or lvcfmt_center
//解決第一列始終靠左的問題
m_mylist.deletecolumn(0);
2、在listcontrol中插入資料
int nitem = m_datalist.getitemcount(); //獲得列表行數
m_mylist.insertitem(nitem, _t("data"));
m_mylist.setitemtext(nitem, 1, cstring);
m_mylist.setitemtext(nitem, 2, cstring);
//......
3、刪除選中項(包括多選)
void dialog***::onbnclickeddelete()
else
}}
4、左鍵單擊訊息響應函式
給listcontrol控制項新增名為nm_click的訊息響應函式
begin_message_map(cdlg***, cdialog)
on_notify(nm_click, idc_list, &cdlg***::onnmclicklist)
end_message_map()
若編譯出錯在nmitemactivate後新增*
void cdlg***::onnmclicklist(nmhdr *pnmhdr, lresult *presult)
5、單擊列表頭實現按相應列排序
從clistctrl繼承乙個新類csortlist
class csortlist : public clistctrl
;csortlist::csortlist()
: clistctrl()
csortlist::~csortlist()
{}
在對話方塊類中為clistctrl控制項新增成員變數
csortlist m_datalist;
新增訊息相應函式
afx_msg void onlvncolumnclickdatalist(nmhdr *pnmhdr, lresult *presult);
begin_message_map(dialog***, cdialog)
on_notify(lvn_columnclick, idc_datalist, &dialogc10::onlvncolumnclickdatalist)
end_message_map()
void dialog***::onlvncolumnclickdatalist(nmhdr *pnmhdr, lresult *presult)
else
m_datalist.sortitems(mycompareproc, (dword)&m_datalist);//呼叫排序處理函式mycompareproc
*presult = 0;
} 新增相應處理函式
static int callback mycompareproc(lparam lparam1, lparam lparam2, lparam lparamsort)
MFC List Control控制項
list control 控制項一共有四種呈現的方式 大圖示 小圖示 列表和報表形式 列表沒有表頭,報表形式有表頭 protected cimagelist m imagelist 新增變數可顯示 初始化m list.insertcolumn 0,l 第一列 lvcfmt left,100 m li...
MFC list Control 控制項設定
m listprocess m listmodule是相應的控制項變數,首先列表屬性要選擇report crect rect1,rect2 獲取程式語言列表檢視控制項的位置和大小 m listprocess.getclientrect rect1 m listmodule.getclientrect...
MFC List Control的用法總結
list control是mfc中經常用到的控制項,但是可惜該控制項並不支援鍵盤輸入 新增各種控制項 button combobox.等功能,說白了基本功能就是乙個用於顯示資料的 性質控制項。那麼,對於鍵盤輸入的支援以及控制項的新增等功能具體如何實現,在下文中一一詳述。一 基本的使用 1.初始化風格...