如何在CListCtrl中实现单击某项是可以为其改名功能??

解决方案 »

  1.   

    http://www.codeproject.com/listctrl/nirs2000.asp
      

  2.   

    参考CListCtrl::SetItemData(
       int nItem,
          DWORD_PTR dwData 
    );结合MSDN
      

  3.   

    参考CListCtrl::SetItemData 也没有看出有什么相关的啊??
      

  4.   

    选中空间属性-> Styles -> Edit Labels 复选框就行
      

  5.   

    在控件所在的对话框中选中控件,然后单击鼠标右键,单击
    Properties,切换到 Styles标签页,选中 Edit Labels 复选框就行
      

  6.   

    处理LVN_BEGINLABELEDIT 和LVN_ENDLABELEDIT
      

  7.   

    谢谢 以上两位热心指导,问题已经解决了.
    代码如下:
    void CMceDialog::OnBeginlabeleditMceList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
    // TODO: Add your control notification handler code here
    m_mce_list1.GetEditControl()->LimitText(20);
    *pResult = 0;
    }void CMceDialog::OnEndlabeleditMceList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
    // TODO: Add your control notification handler code here CString strText;
    m_mce_list1.GetEditControl()->GetWindowText(strText); 

    //** Might do some text validation here //** Check string isn't empty
    if (strText.GetLength() > 0)
    {
        //** Get the selected item handle
        int hSelected = pDispInfo->item.iItem;  
        int hSelected1 = pDispInfo->item.iSubItem;
                 //** Set the modified text
    //     strText="Andy";
        m_mce_list1.SetItemText(hSelected, hSelected1, strText);
    }

    *pResult = 0;
    }