CListCtrl表格插入下面数据
int aRow = m_list.InsertItem(i,_T("策略")); 
m_list.SetItemText(aRow,1,_T("描述"));
m_list.createItemButton( aRow, 2, this->GetSafeHwnd() );  //按钮当删除所有行的时候发现其它数据都删了,而“按钮”删除不掉还是在里面,请问要怎么删除按钮呢?
m_list.DeleteAllItems();

解决方案 »

  1.   

    createItemButton是你自己CListCtrl派生类中定义的函数吗?
    你的按钮什么创建的?
      

  2.   

    既然是自己派生的LIST,那自己修改DeleteAllItems();实现吧。
      

  3.   

    有createItemButton,删除时就要有对应的deleteItemButton
      

  4.   

    重写 DeleteAllItems() 试试
      

  5.   

    你的listctrl不是mfc自己的吧
    看看你的m_list.下有没有相关的deletebutton方法我感觉有
      

  6.   

    自己继承自己删除,MFC只是一个基本框架,许多工作还是要自己做的!
      

  7.   


    //创建按钮时返回按钮句柄
    HWND hButton = m_list.createItemButton( aRow, 2, this->GetSafeHwnd() );
    //保留按钮句柄 
    m_list.SetItem( aRow, 2, LVIF_PARAM, NULL, 0, 0, 0, (LPARAM)hButton);//删除
    LVITEM vItem={LVIF_PARAM, aRow, 2};
    m_list.GetItem( &vItem );
    if(vItem.lParam)
    {
      ::DestroyWindow((HWND)vItem.lParam);
    }
      

  8.   

    Create要有对应的Delete,这样无论从机理还是触觉上都比较清晰。
      

  9.   

    首先同意9楼; 
    重写 DeleteAllItems() 的话,里面最好要有判断,然后你可以尝试将所有情况都考虑进去,比如删除radio,或删除其他控件,这样以后就方便了..
      

  10.   

    重写 DeleteAllItems() 试试