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程序设计有所帮助。