如下:
当我重写:virtual void PreSubclassWindow();
 void CMylist::PreSubclassWindow() 
 {
// TODO: Add your specialized code here and/or call the base class
  ModifyStyle(0, LVS_EDITLABELS);
CListCtrl::PreSubclassWindow();
 }
时当第二次点击列表框时就会报异常。
AFX_MANAGE_STATE(&afxModuleState)时出错,怎么解决这个问题?我的可编辑列表框时按照这个做的:http://blog.csdn.net/yangshun2008/archive/2010/04/20/5507479.aspx,但是在virtual void PreSubclassWindow();这个函数的调用上出现问题,当我注释掉这句话就不保存,但是对应的可编辑功能也较没了。怎么解决?

解决方案 »

  1.   

    其实,简单的你可以创建一个edit,指定父窗口为listctrl,当需要时,调整位置显示,不需要时再隐藏起来
      

  2.   

    例子里,
    CListCtrl::OnLButtonDown(nFlags, point);
    if ( m_bHighLight && m_iItem == lvhit.iItem && m_iSubItem == lvhit.iSubItem )
    {
    //第二次单击
    EditLabel(m_iItem);
    return;
    }
    else
    {
    //第一次单击
    m_iItem = lvhit.iItem;
    m_iSubItem = lvhit.iSubItem;
    m_bHighLight = TRUE;
    }
    你可以把断点设在这里看看哪里出问题了。这个代码很像以前的gridctrl,连bug也抄过来了。可我不记得bug怎么解决的。