在属性里改了没有效果,内容长了不出现水平滚动条。

解决方案 »

  1.   

    调用SetHorizontalExtentCDC *pDC = m_lstFile.GetDC();
    CFont *pFont = m_lstFile.GetFont();
    CFont *pOldFont = pDC->SelectObject(pFont);
    int cx = m_lstFile.GetHorizontalExtent();
    CSize sz = pDC->GetTextExtent(str);
    sz.cx++;
    if(sz.cx > cx)
    m_lstFile.SetHorizontalExtent(sz.cx);
    pDC->SelectObject(pOldFont);
    m_lstFile.ReleaseDC(pDC);
      

  2.   

    ClistCtrl没有SetHorizontalExtent之类的。
      

  3.   

    这个本来就是自动的啊?
    你说的内容不会是Item内的吧
    这个肯定是不行的
    不过你可以根据现实内容的长度来设置列宽来实现目的
      

  4.   

    是Item的内容长度。列宽已经固定了。
      

  5.   

    那怎么能Item内容长的时候加水平滚动条呢?我现在用m_List.SetExtendedStyle(LVS_EX_INFOTIP)可以看到完整的内容。
      

  6.   

    ClistCtrl己经封装了滚动条
    LZ说的这个功能会自动实现的
    若代码不是很长,贴上来看看
      

  7.   

    // 对于单个Item的内容,添加滚动条,标准的CListCtrl做不到。
      

  8.   

    我用CTreeCtrl可以,但是CTreeCtrl中选中check boxes出现的滚动条太长了。