清除列表框遇到的问题
时间: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版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28