推荐回答
哥跑了下你代码有问题啊,voidCAddress_ListView::OnSdelete{POSITIONp=m_address_list.GetFirstSelectedItemPosition;//获取首选中行位置whilep{intnSelected=m_address_list.GetNextSelectedItemp;//获取选中行的索引m_address_list.DeleteItemnSelected;//根据索引删除p=m_address_list.GetFirstSelectedItemPosition;//这里跟你不一样,如果不是这样写的话,会删错位的,比如你选了1,2两行,当删第一行后,如果跟你上面代码一样,第二次删会删到原先的第三行去,这个语句重新计算选中行在删掉一条后的listctl中位置}POSITIONpos=m_address_list.GetFirstSelectedItemPosition;//这行哥删了intm_nIndex=m_address_list.GetNextSelectedItempos;//这行哥删了UpdateDataFALSE;//哥把这行删了也是可以的。
黄皎林2020-01-16 23:20:28
提示您:回答为网友贡献,仅供参考。