现有程序已经完成,另外想在LIst control表头加上单击自动排序功能?有谁有相关例子吗?
MFC C++

解决方案 »

  1.   

    gridCtrl 有这个功能!很好用的!
      

  2.   

    http://download.csdn.net/detail/fandh/995270 去下载一个用用!
      

  3.   

    http://download.csdn.net/detail/gameslq/3648385
    简单明了
      

  4.   

    其实很简单。
    http://blog.sina.com.cn/s/blog_4f1aa37f0100f8wu.html
      

  5.   

    void CClistSortDlg::ListSort(void)
    {
    int listcount = m_list.GetItemCount(); 
    int nColumn =m_list.GetHeaderCtrl()->GetItemCount();
    CString temp0,temp1,temp2; 
    for(int j = 1;j <listcount;j++) 

    for(int i=0;i <listcount-j;i++) 

    temp1 = m_list.GetItemText(i,0); //m_list为控件绑定的变量,根据自己的修改
    temp2 = m_list.GetItemText(i+1,0); 
    //int nRe = StrCmpLogicalW(temp1,temp2); //
    int nRe = StrCmpI(temp1,temp2); //
    if (m_bSort)
    {
    if (nRe < 0)
    {
    for(int n=0;n <nColumn;n++) 

    temp1 = m_list.GetItemText(i,n); 
    temp2 = m_list.GetItemText(i+1,n); 
    m_list.SetItemText(i,n,temp2); 
    m_list.SetItemText(i+1,n,temp1); 
    }
    }
    }
    if (!m_bSort)
    {
    if (nRe > 0)
    {
    for(int n=0;n <nColumn;n++) 

    temp1 = m_list.GetItemText(i,n); 
    temp2 = m_list.GetItemText(i+1,n); 
    m_list.SetItemText(i,n,temp2); 
    m_list.SetItemText(i+1,n,temp1); 

    }
    }
    }
    }
    }