CRect rect;
CDataView::GetClientRect(&rect);
m_list.Create(WS_CHILD|WS_VISIBLE|WS_BORDER ,
rect,this,1);
m_list.InsertColumn(0, "Field1", LVCFMT_LEFT, 110);
m_list.InsertColumn(1, "Field2", LVCFMT_LEFT, 130);
m_list.InsertColumn(2, "Field3", LVCFMT_LEFT, 130);
// 设置列表控件扩展样式为整行高亮

// 往列表控件中添加项目
int nItem;
for (int i=0; i<10; i++)
{
CString f1, f2, f3;
// 格式化字符串
f1.Format("SerialNum: %d", i+1);
f2.Format("Row %d Column 2", i+1);
f3.Format("Row %d Column 3", i+1);
nItem = m_list.InsertItem(i, _T(f1));  // 插入第一列
m_list.SetItemText(nItem, 1, _T(f2));  // 插入第二列
m_list.SetItemText(nItem, 2, _T(f3));  // 插入第三列
}
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
我在view中Oncreate用创建,就出现如题现象,是不是style没有设置呢?看了msdn的create没看到style!
谢谢回复

解决方案 »

  1.   

    显示列表头需要在Create的时候添加LVS_REPORT样式.添加数据的方式:
    m_list.InsertItem(i, ""); // 插入第i行
    m_list.SetItemText(i, 0, ""); // 设置第i行第1列的数据
    m_list.SetItemText(i, 1, ""); // 设置第i行第2列的数据
      

  2.   

    LZ的问题测试过了,将这行:m_list.Create(WS_CHILD &brvbarWS_VISIBLE &brvbarWS_BORDER ,rect,this,1); 去掉就行了.
      

  3.   

    只有LVS_REPORT样式的CListCtrl才会有表头
      

  4.   

    看看我的问题
    http://topic.csdn.net/u/20080511/13/06252129-507c-4317-8cea-8ccaf3083a21.html
      

  5.   

    谢谢!我看了msdn,可能是眼花了说只在Dialog下设置,我就没设置。谢谢!结帖!!!!!!!