MFC控件之CListCtrl的应用实例教程
本文以实例形式较为详细的讲述了MFC控件中CListCtrl的应用方法,对于学习Windows程序设计来说有不错的借鉴价值。具体步骤如下:
首先,CMFCListCtrl实现的功能中比较特别的就是通过CImage来扩展每行的高度。实例化代码如下:
CMFCListCtrlm_lisTestResult;
1、插入列(创建表格):
m_lisTestResult.InsertColumn(0,_T("序号"),LVCFMT_CENTER,50);
2、填充内容:
m_lisTestResult.InsertItem(iRow,strRow,-1);//iRow为行号,从0开始;strRow为显示序列号
m_lisTestResult.SetItemText(iRow,1,_T("显示内容"));
3、获取行数:
intiRow=m_lisTestResult.GetItemCount();
4、获取列数:
intiList=m_lisTestResult.GetHeaderCtrl().GetItemCount();
5、获取表头字符:
CStringstrTemp;
LVCOLUMNlvcol;
TCHARstr[32];
lvcol.mask=LVCF_TEXT;
lvcol.pszText=str;
lvcol.cchTextMax=32;
if(m_lisTestResult.GetColumn(j,&lvcol))
{
strTemp.Format(_T("%s,"),lvcol.pszText);
}
6、改变行高,这个最主要的是通过CImage配合实现的。具体代码如下:
CMFCListCtrlm_lisTestResult;
CFontm_font;
m_font.CreateFont(-12,0,0,0,100,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,_T("Arial"));
this->SetFont(&m_font);
if(!m_lisTestResult.GetSafeHwnd())
{
CRectrect;
this->GetDlgItem(IDC_LIST_TESTRESULT)->GetWindowRect(&rect);
ScreenToClient(&rect);
m_lisTestResult.Create(WS_CHILD|WS_BORDER|WS_VISIBLE|WS_VSCROLL|LVS_REPORT,rect,this,IDC_LIST_TESTRESULT);
m_lisTestResult.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_lisTestResult.SetFont(&m_font);
CImageListimages;
images.Create(1,24,TRUE|ILC_COLOR32,1,0);
m_lisTestResult.SetImageList(&images,LVSIL_SMALL);
}
希望本文所述代码对大家Windows程序设计有所帮助。