以下未經說明,listctrl預設view 風格為report
lvs_icon: 為每個item顯示大圖示
lvs_smallicon: 為每個item顯示小圖示
lvs_list: 顯示一列帶有小圖示的item
lvs_report: 顯示item詳細資料
直觀的理解:windows資源管理器,「檢視」標籤下的「大圖示,小圖示,列表,詳細資料」
long lstyle;
lstyle = getwindowlong(m_list.m_hwnd, gwl_style);//獲取當前視窗style
lstyle &= ~lvs_typemask; //清除顯示方式位
lstyle |= lvs_report; //設定style
setwindowlong(m_list.m_hwnd, gwl_style, lstyle);//設定style
dword dwstyle = m_list.getextendedstyle();
dwstyle |= lvs_ex_fullrowselect;//選中某行使整行高亮(只適用與report風格的listctrl)
dwstyle |= lvs_ex_gridlines;//網格線(只適用與report風格的listctrl)
dwstyle |= lvs_ex_checkboxes;//item前生成checkbox控制項
m_list.setextendedstyle(dwstyle); //設定擴充套件風格 注:listview的style請查閱msdn
m_list.insertcolumn( 0, "id", lvcfmt_left, 40 );//插入列
m_list.insertcolumn( 1, "name", lvcfmt_left, 50 );
int nrow = m_list.insertitem(0, 「11」);//插入行
m_list.setitemtext(nrow, 1, 「jacky」);//設定資料
選中style中的show selection always,或者在上面第2點中設定lvs_showselalways
int nindex = 0; //選中
m_list.setitemstate(nindex, lvis_selected|lvis_focused, lvis_selected|lvis_focused); //取消選中
m_list.setitemstate(nindex, 0, lvis_selected|lvis_focused);
m_list.setextendedstyle(lvs_ex_checkboxes);
cstring str;
for(int i=0; i
}方法一:
cstring str;
for(int i=0; i
}方法二:
position pos = m_list.getfirstselecteditemposition();
if (pos == null)
trace0("no items were selected!/n");
else
}tchar szbuf[1024];
lvitem lvi;
lvi.iitem = nitemindex;
lvi.isubitem = 0;
lvi.mask = lvif_text;
lvi.psztext = szbuf;
lvi.cchtextmax = 1024;
m_list.getitem(&lvi);
關於得到設定item的狀態,還可以參考msdn文章 q173242: use masks to set/get item states in clistctrl
lvcolumn lvcol;
char str[256];
int ncolnum;
cstring strcolumnname[4];//假如有4列
ncolnum = 0;
lvcol.mask = lvcf_text;
lvcol.psztext = str;
lvcol.cchtextmax = 256;
while(m_list.getcolumn(ncolnum, &lvcol))
m_list.ensurevisible(i, false);
int nheadnum = m_list.getheaderctrl()->getitemcount();
方法一: while ( m_list.deletecolumn (0)) 因為你刪除了第一列後,後面的列會依次向上移動。
方法二: int ncolumns = 4; for (int i=ncolumns-1; i>=0; i--) m_list.deletecolumn (i);
新增listctrl控制項的nm_click訊息相應函式
void ctest6dlg::onclicklist1(nmhdr* pnmhdr, lresult* presult)
*/
// 方法二:
/* nm_listview* pnmlistview = (nm_listview*)pnmhdr;
if(pnmlistview->iitem != -1)
*/
*presult = 0;
}新增listctrl控制項的nm_click訊息相應函式
void ctest6dlg::onclicklist1(nmhdr* pnmhdr, lresult* presult)
*presult = 0;
}新增listctrl控制項的nm_rclick訊息相應函式
void ctest6dlg::onrclicklist1(nmhdr* pnmhdr, lresult* presult)
*presult = 0;
}修改某一行的某一項
m_listrecvdetail.setitem(m_listitemcount-2,3,lvif_text,"不應答",0,0,0,null);
MFC中ListControl控制項的使用
以下未經說明,listctrl預設view 風格為report lvs icon 為每個item顯示大圖示 lvs smallicon 為每個item顯示小圖示 lvs list 顯示一列帶有小圖示的item lvs report 顯示item詳細資料 直觀的理解 windows資源管理器,檢視 標...
MFC中ListControl控制項的使用
以下未經說明,listctrl預設view 風格為report lvs icon 為每個item顯示大圖示 lvs smallicon 為每個item顯示小圖示 lvs list 顯示一列帶有小圖示的item lvs report 顯示item詳細資料 直觀的理解 windows資源管理器,檢視 標...
MFC控制項之listControl簡單應用
屬性 view 圖示 icon 小圖示 small icon 列表 list 報表 report 設定風格 dword dwstyle m list.getextendedstyle 獲取list control的風格 dwstyle lvs ex fullrowselect 整行選中 dwstyl...