假如CListCtrl控件中有三列数据,如何使这三列数据显示等宽?

解决方案 »

  1.   

    UINT style;
    list.ModifyStyle(0,LVS_REPORT);
    style=LVS_REPORT;
    LVCOLUMN colinfo;
    memset(&colinfo,0,sizeof(colinfo));
    colinfo.mask=LVCF_TEXT|LVCF_WIDTH;
    colinfo.cx=130;
    colinfo.cchTextMax=255;
    colinfo.pszText="名称";
    colinfo.iSubItem=0;
    colinfo.iOrder=0;
    list.InsertColumn(0,&colinfo);
    colinfo.pszText="类型";
    colinfo.iSubItem=1;
    colinfo.iOrder=1;
    list.InsertColumn(1,&colinfo);
    colinfo.pszText="大小";
    colinfo.iSubItem=2;
    colinfo.iOrder=2;
    colinfo.cx=70;
    list.InsertColumn(2,&colinfo);
    colinfo.pszText="修改时间";
    colinfo.iSubItem=3;
    colinfo.iOrder=3;
    colinfo.cx=200;把colinfo.cx修改相同就好了
      

  2.   

    for(int i = 0; i < 3; i++)
    {
        m_list.SetColumnWidth(i, 100);
    }
    m_list为CListCtrl变量,这里设置每行为100像素宽
      

  3.   

    m_controlListFile.InsertColumn(0,"文件名",LVCFMT_LEFT,100,0);
    m_controlListFile.InsertColumn(1,"大  小",LVCFMT_LEFT,100,1);
    m_controlListFile.InsertColumn(2,"路  径",LVCFMT_LEFT,100,2);
      

  4.   

    insertColumn(0,"",LVCFMT_LEFT,200,0)
    其中200就是长度,如果像设置一样就把这个数设置一样就ok
      

  5.   

    coolzdp(▄︻┻┳═一[http://coolzdp.126.com]) 
     
    m_controlListFile.InsertColumn(0,"文件名",LVCFMT_LEFT,100,0);
    m_controlListFile.InsertColumn(1,"大  小",LVCFMT_LEFT,100,1);
    m_controlListFile.InsertColumn(2,"路  径",LVCFMT_LEFT,100,2);
     
    请问coolzdp如果这三个数据要间距相等而且要满这个控件,这个100的地方如果写? 
     
      

  6.   

    最好用CListCtrl.GetWindowRect(lpRECT)来做
      

  7.   

    RECT rc;
    GetDlgItem(listID)->GetWindowRect(&rc)
    for(int i = 0; i < 3; i++)
    {
    m_list.SetColumnWidth(i, (rc.right - rc.left)/3);
    }
    m_list为CListCtrl变量,这里设置每行为100像素宽
      

  8.   

    sorry!
    RECT rc;
    GetDlgItem(listID)->GetWindowRect(&rc)
    for(int i = 0; i < 3; i++)
    {
    m_list.SetColumnWidth(i, (rc.right - rc.left)/3);
    }
    m_list为CListCtrl变量
      

  9.   

    如果可以!把代码发到[email protected] 我帮你看看,注明本贴的URL!