关于CListBox自动排序后,得到原始索引的问题,找了半天也没找到相关资料
我的问题是这样引出的:为了美观,把一个CListBox设置了排序属性(Sort).
我有一个CPtrArray存放一组结构的信息.而列表框一行一行地显示这个结构内容,有一个函数来作从结构到列表框显示项(字符串)的变换.初始时,列表框的内容完全地反映了这组结构的内容(但次序不一样了).
这样,用户选择列表框的一项,点删除,我应该又删除列表框的当前项又删除结构数组的对应项.这时问题出现了.列表框倒是好说,删就删了用DeleteString(m_lbxxx.GetCurSel()), 但我怎么知道列表框的当前项对应结构数组的哪一项?
我曾尝试用setitemdata和getitemdata但让我气愤的是这两个函数的参数也是基于列表框的显示出来的索引.而列表框在AddString内部就排了序了,要是有个函数是AddString(LPCTSTR str, DWORD itemdata)就好了....
各位,帮帮我,怎么办啊