就像edit控件显示多行那样,能在listcontrol中的一行中某列显示多行,
比如内容是text1text2text3text4这是listcontrol的默认效果
我想要的是
text1
text2
text3
text4
这样显示,就是想在上面回车一样的效果?
答者有分

解决方案 »

  1.   

    1. 首先将List Control设置为report风格。
    2. 插入column,想插几个就几个。
    3. 插入条目,就是你所说的text1,text2,text3.
      

  2.   

    举例说明,实现代码如下:
    1. 设置风格
    m_list1.ModifyStyle(LVS_TYPEMASK, m_list1.GetStyle() | LVS_REPORT | LVS_SHOWSELALWAYS);
    2. 插入column,这里插入了两个
    //insert columns
    CRect listRect;
    m_list1.GetWindowRect(&listRect);
    m_list1.InsertColumn(0, _T("column1"), LVCFMT_LEFT, (listRect.Width() * 50) / 100);
    m_list1.InsertColumn(1, _T("column2"), LVCFMT_LEFT, (listRect.Width() * 49) / 100);
    3. 插入条目,想插多少是多少
    for(int i = 0; i < 3; i ++)
    {
    CString tem;
    tem.Format(_T("Item%d"), i+1);
    m_list1.InsertItem(i, tem);
    m_list1.SetItemText(i, 1, _T("second item"));
    }
    ---------------------
    效果如下:
    column1      column2
    item1        second item
    item2        second item
    item3        second item
    你可以根据你的需要进行更改。