清除列表框遇到的问题
时间:2011-11-25
来源:互联网
             在列表框中导入一些信息,然后设了一个删除键,想实现的呃功能是:选择一个信息,点击按键,就删除该信息;要是没有选中则报“没有选择正确的列表项”。实际运行结果是:如果选择了信息,就删除该信息,如果没有选择,就从列表的开头开始删除,如果列表中没有信息了,则点击按钮后,提示遇到问题需要关闭。代码如下,不知道出了什么问题。。
void Cshuru::OnButtondel()
{
// TODO: Add your control notification handler code here
int nIndex=m_List.GetCurSel();
if(nIndex!=LB_ERR)
{
delete (CP_point*) m_List.GetItemDataPtr(nIndex);
m_List.DeleteString(nIndex);//删除当前的选项
m_pointnum.Empty();
m_edit_x=0;
m_edit_pos=0;//清空编辑框
m_edit_vel=0;
m_edit_acc=0;
UpdateData(FALSE);
}
else MessageBox("没有选择正确的列表项!");
}
            void Cshuru::OnButtondel()
{
// TODO: Add your control notification handler code here
int nIndex=m_List.GetCurSel();
if(nIndex!=LB_ERR)
{
delete (CP_point*) m_List.GetItemDataPtr(nIndex);
m_List.DeleteString(nIndex);//删除当前的选项
m_pointnum.Empty();
m_edit_x=0;
m_edit_pos=0;//清空编辑框
m_edit_vel=0;
m_edit_acc=0;
UpdateData(FALSE);
}
else MessageBox("没有选择正确的列表项!");
}
作者: YB_youngboy 发布时间: 2011-11-25
             你看下没有选中时返回的索引是多少?(好像是-1)是否等于LB_ERR,如果不等于而又没有列表项,那么你去删除绝对是会报错的。            
            作者: xxcc309 发布时间: 2011-11-25
             if(nIndex!=LB_ERR)
改成
if(nIndex>-1)
表示取到items
            改成
if(nIndex>-1)
表示取到items
作者: shen_wei 发布时间: 2011-11-26
  引用 2 楼 shen_wei 的回复:
if(nIndex!=LB_ERR)
  
改成
if(nIndex>-1)
表示取到items
if(nIndex!=LB_ERR)
改成
if(nIndex>-1)
表示取到items
+
作者: gold_water 发布时间: 2011-11-26
 相关阅读 更多  
      
    热门阅读
-   office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具阅读:74 
-   如何安装mysql8.0 如何安装mysql8.0阅读:31 
-   Word快速设置标题样式步骤详解 Word快速设置标题样式步骤详解阅读:28 
-   20+道必知必会的Vue面试题(附答案解析) 20+道必知必会的Vue面试题(附答案解析)阅读:37 
-   HTML如何制作表单 HTML如何制作表单阅读:22 
-   百词斩可以改天数吗?当然可以,4个步骤轻松修改天数! 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!阅读:31 
-   ET文件格式和XLS格式文件之间如何转化? ET文件格式和XLS格式文件之间如何转化?阅读:24 
-   react和vue的区别及优缺点是什么 react和vue的区别及优缺点是什么阅读:121 
-   支付宝人脸识别如何关闭? 支付宝人脸识别如何关闭?阅读:21 
-   腾讯微云怎么修改照片或视频备份路径? 腾讯微云怎么修改照片或视频备份路径?阅读:28 















