现在的问题是,如果每个ITEM的信息太短,在一行上就会显示两条或多条ITEM,
在一行上我只想显示一个ITEM???

解决方案 »

  1.   

    属性->风格->view属性选择list
      

  2.   

    我是自己create的listctrl,指定什么样的STYLE?
    我的风格已经是LVS_LIST了
      

  3.   

    const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS;
    mlstListCtrl.Create(dwViewStyle, CRect(100, 100, 200, 200), this, IDC_LISTCTRL))
      

  4.   

    关键就是那个LVS_REPORT样式属性!
      

  5.   

    不想用LVS_REPORT风格我也想过用LVS_REPORT风格 ,然后把Column Header式样去掉。
    可是这样的话,消息的显示的长度不好控制,因为ITEM的长度是不定的,如果预先设置ITEM的长度太短的话,当实际的ITEM的长度大于预先设的值时,信息就会显示不完,
    如果预先设置ITEM的长度太长的话,当实际的ITEM的长度都很小时,控件中也会出现水平滚动条,影响美观!!
      

  6.   

    LVS_LIST应该是横向滚动的,所以应该本来就没有让一行显示一条Item的功能,要么你就根本不要用listCtrl
      

  7.   

    http://search.csdn.net/Expert/topic/481/481665.xml?temp=.4127008
    能有用么?我delphi下是可以设置column的宽度自动调节的mfc下面的确没找到
    你看看这帖的方法行不?
      

  8.   

    可以用Report方式,添加删除项的时候,发送LVM_SETCOLUMNWIDTH 消息
    参数为LVSCW_AUTOSIZE或者LVSCW_AUTOSIZE_USEHEADER就是让列宽自动调整