1 新建MFC SDI应用程序,View选择基类为CListView
void CSDIListViewTestView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
// TODO: 调用 GetListCtrl() 直接访问 ListView 的列表控件,
// 从而可以用项填充 ListView。
m_ilList.Create(16, 16, ILC_COLOR32 | ILC_MASK, 8, 8);
int i = 0;
while (i < 10)
{
m_ilList.Add(AfxGetApp()->LoadIconW(IDI_ICON1+i));
i++;
}
CListCtrl& list = GetListCtrl();
list.SetImageList(&m_ilList, LVSIL_SMALL);
list.ModifyStyle(0,LVS_REPORT);
list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
list.InsertColumn(0, _T("工号"), 0, 180);
list.InsertColumn(1, _T("姓名"), 0, 180);
list.InsertColumn(2, _T("部门"), 0, 180);
}
void CSDIListViewTestView::OnTestAdd()
{
// TODO: 在此添加命令处理程序代码
CAddDialog dlg;
if (IDCANCEL == dlg.DoModal())
{
return;
}
CListCtrl& list = GetListCtrl();
int i = list.GetItemCount();
list.InsertItem(i, dlg.m_num);
list.SetItemText(i,1, dlg.m_name);
list.SetItemText(i,2, dlg.m_dept);
}
void CSDIListViewTestView::OnTestDel()
{
// TODO: 在此添加命令处理程序代码
CListCtrl& list = GetListCtrl();
if (!list.GetSelectedCount())
{
AfxMessageBox(_T("请选择一条再删除"));
return;
}
int nSel = list.GetSelectionMark();
if (IDYES == AfxMessageBox(_T("确认删除该数据吗?"),MB_YESNO))
{
list.DeleteItem(nSel);
}
}