我喜欢蓝天,也喜欢雨天。
分类: Windows平台
2014-01-17 16:13:35
#define DF_LIST_INDEX_ACTION 0 //动作
#define DF_LIST_INDEX_PROCESS 1 //发起该动作的进程名称
#define DF_LIST_INDEX_PATH 2 //被访问的文件全路径
#define DF_LIST_INDEX_RESULT 3 //本次操作的结果
//list第列的宽度
#define DF_LIST_INDEX_ACTION_WIDTH 100 //动作
#define DF_LIST_INDEX_PROCESS_WIDTH 100 //发起该动作的进程名称
#define DF_LIST_INDEX_PATH_WIDTH 300 //被访问的文件全路径
#define DF_LIST_INDEX_RESULT_WIDTH 100 //本次操作的结果
CListCtrl mList;
初始化列表:
mList.ModifyStyle(0,LVS_REPORT);
mList.SetExtendedStyle(mList.GetExtendedStyle() | LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
插入列:
mList.InsertColumn(列号(从0开始计),列的名字,文字对齐方式,列宽度);
mList.InsertColumn(DF_LIST_INDEX_ACTION,_T("Action"),LVCFMT_LEFT,DF_LIST_INDEX_ACTION_WIDTH);
mList.InsertColumn(DF_LIST_INDEX_PROCESS,_T("Process Name"),LVCFMT_LEFT,DF_LIST_INDEX_PROCESS_WIDTH);
mList.InsertColumn(DF_LIST_INDEX_PATH,_T("Full Path"),LVCFMT_LEFT,DF_LIST_INDEX_PATH_WIDTH);
mList.InsertColumn(DF_LIST_INDEX_RESULT,_T("Result"),LVCFMT_LEFT,DF_LIST_INDEX_RESULT_WIDTH);
插入行:
int liListIndex = mList.GetItemCount();//计算列表有多少行
mList.SetItemText(行号,列号,值);
mList.SetItemText(liListIndex,0,L"第liListIndex行,第1列的数值");
mList.SetItemText(liListIndex,1,L"第liListIndex行,第2列的数值");
得到行数:
int liList = mList.GetItemCount();
删除行:
mList.DeleteItem(liListSelIndex);//参数是行号
避免闪烁:
mList.SetRedraw(FALSE);
//更新内容
mList.SetRedraw(TRUE);
mList.Invalidate();
mList.UpdateWindow();