动态创建CListCtrl代码

来源:互联网 发布:日本的电视直播软件 编辑:程序博客网 时间:2024/04/29 08:54
 

if(!m_list.Create(  WS_BORDER   |   LVS_REPORT   |   LVS_ALIGNLEFT,CRect(0,0,500,2000),&m_TabCtrlLeft,1000))
 {
  TRACE0("Failed to create instant bar child\n");
  return -1;
 }
 CString strText;
 LV_COLUMN list;
 list.mask =  LVCF_TEXT |LVCF_WIDTH| LVCF_FMT;// |LVCF_SUBITEM;
 list.fmt = LVCFMT_LEFT;
 list.cx = 40;
 list.pszText   = "属性";
 list.iSubItem = 0;
 list.iOrder=0;
 m_list.InsertColumn(0,&list);

 list.mask =  LVCF_TEXT |LVCF_WIDTH| LVCF_FMT|LVCF_SUBITEM;// ;
 list.fmt = LVCFMT_LEFT;
 list.cx = 60;
 list.pszText   = "参数值";
 list.iSubItem =1;
 list.iOrder=1;
 m_list.InsertColumn(1,&list);
 for(int i=0;i<5;i++)
 {

  LV_ITEM lvitemAdd={0};
  lvitemAdd.mask = LVIF_TEXT;
  lvitemAdd.iItem = 0 ;
  lvitemAdd.iSubItem = 0;
  CString str;
  str.Format("%d",i);
  lvitemAdd.pszText =_T(str.GetBuffer());
  if (m_list.InsertItem(&lvitemAdd) != -1)
  {

   LV_ITEM lvitem = {0};
   lvitem.mask = LVIF_TEXT;
   lvitem.iItem = 0 ;
   lvitem.iSubItem = 1;
   str.Format("Point %d",i+1);
   lvitem.pszText =_T(str.GetBuffer());
   m_list.SetItem(&lvitem);
   
  }
 }
 
 m_TabCtrlLeft.AddPage(&m_list,"图像信息",IDI_DIR);
 
 m_TabCtrlLeft.AddPage(RUNTIME_CLASS(CParameterDialog),IDD_PARA,"对话框",IDI_DIR);

注意:m_list.SetExtendedStyle(LVS_EX_GRIDLINES); 

可以通过调用该函数,实现CListCtrl的表格线显示