CTreeCtrl没使用CheckBox类型时一切正常,
加了这个类型后就出现一个很长的水平滚动条,
我还没有为CTreeCtrl添加Item的时候就有这个现象了.

解决方案 »

  1.   

    你是如何追加CheckBox的,用的什么代码?
      

  2.   

    在对话框资源里设置的,
    rc文件中的信息如下:
        CONTROL         "",IDC_FRAME_LIST,"SysTreeView32",TVS_NOTOOLTIPS | TVS_CHECKBOXES | TVS_FULLROWSELECT | WS_BORDER | WS_TABSTOP,7,7,83,183
      

  3.   

    TVS_CHECKBOXES这个是什么意思?我的怎么是LVS_EX_CHECKBOXES?
      

  4.   

    CListCtrl m_listCtrl;
    m_listCtrl.Create(TVS_HASLINES,CRect(0,0,100,100),this,IDC_FRAME_LIST);
    m_listCtrl.SetExtendedStyle(m_listCtrl.GetExStyle()|LVS_EX_CHECKBOXES);
    for(int i=1;i<=3;i++)
    {
    m_listCtrl.InsertItem(i,"ssss");
    m_listCtrl.SetCheck(i-1,TRUE);
    }
    你把它们加到OnInitDialog()中
      

  5.   

    问题是我用的是CTreeCtrl,
    不是CListCtrl,
    没有SetExtendedStyle这个函数.
      

  6.   

    OnInitDialog()中加入
    m_ListFile.ModifyStyle(0,TVS_HASBUTTONS|TVS_CHECKBOXES|TVS_LINESATROOT|TVS_HASLINES);
    就可以了啊
      

  7.   

    如果不希望有滚动条,可以在资源中的More Styles中取消对Scrroll的选中。
      

  8.   

     
    DWORD dwTreeStyle = WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER
       | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_CHECKBOXES;   if (!m_Tree.Create(dwTreeStyle, CRect(10, 10, 300, 100), pParent, IDC_TREE1))
       {
       TRACE0("Failed to create Tree ctrl\n") ;
       return bret ;
       }