У меня есть элемент управления CComboBox
с несколькими элементами, и мне нужно удалить некоторые из них, но индексы оставшихся элементов должны быть сохранены.
Когда заполнено поле со списком, данные элементаустановить так:
index = mycombo.AddString(temp);
mycombo.SetItemData(index, static_cast<DWORD>(count));
, где count
- счетчик цикла, и должен быть равен index
Теперь я хочу удалить некоторые элементы позже, но мне нужноИндекс каждого оставшегося элемента остается прежним.CComboBox::DeleteString(UINT nIndex)
что я должен использовать?Документация гласит:
Все элементы, следующие за nIndex, теперь перемещаются на одну позицию вниз.Например, если поле со списком содержит два элемента, удаление первого элемента приведет к тому, что оставшийся элемент теперь будет на первой позиции.nIndex = 0 для элемента в первой позиции.
Это говорит о физическом местоположении в раскрывающемся меню или о значении индекса, связанного с элементом?
есть другая функция, которая делает то, что мне нужно?Еще одно решение?