CListCtrl

来源:互联网 发布:风险投资知乎 编辑:程序博客网 时间:2024/06/05 14:21
通常需要设计自己的listctrl(继承自CListCtrl)实现特定的功能如添加删除等。CListCtrl里有特定的消息以NM_前缀和LVN_前缀开头。通过响应这些消息来实现特定的功能。否则如果只用CListCtrl则这些消息响应没有地方添加。
CRect rect;
LVCOLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
CString  str[3] = {"姓名", "学号", "年龄"};
m_pListCtrl->GetClientRect(&rect);


int i;
for(i = 0; i < 3; i++)
{
lvc.iSubItem = i;
lvc.pszText = (char*)(LPCTSTR)str[i];
lvc.cx = rect.Width() / 3;
lvc.fmt = LVCFMT_LEFT;
m_pListCtrl->InsertColumn(i, &lvc);
}


//插入项
   int nIndex = m_listctrl.GetItemCount();
   LVITEM lvi;
   lvi.mask = LVIF_TEXT;
   lvi.iItem = nIndex ;
   lvi.iSubItem = 0;
   lvi.cchTextMax = 64;
   lvi.pszText = _T("阿猫");
   m_pListCtrl->InsertItem(&lvi);




   lvi.pszText = _T("20110901");
   lvi.cchTextMax = 12;
   lvi.iSubItem = 1;
   m_pListCtrl->SetItem(&lvi);




   lvi.pszText = _T("18");
   lvi.cchTextMax = 3;
   lvi.iSubItem = 2;
   m_pListCtrl->SetItem(&lvi);


//CListCtrl中还有许多基本的函数,如获取LVCOLUMN LVITEM的信息,插入,删除,遍历等。



原创粉丝点击