#c #mfc #controls
Вопрос:
У меня есть элемент управления представлением списка, который на данный момент позволяет выбрать только один элемент. Затем я прочитал это с помощью следующего кода:
void CApp::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult) { int nSelected = (m_List.GetSelectionMark()); …
Однако теперь я хочу, чтобы этот список мог выполнять множественный выбор, GetSelectionMark() всегда возвращает один индекс. Кто-нибудь может помочь мне перекодировать это, чтобы вернуть список выбранных индексов?
Ответ №1:
Используйте GetFirstSelectedItemPosition()
для поиска сначала выбранного элемента, затем GetNextSelectedItem()
для остальных, и все готово. 🙂
Комментарии:
1. Только что видел их на MSDN, если кому-то интересно, я опубликую полный фрагмент кода.
2. есть ли какой-нибудь способ найти действительно первую выбранную позицию в том порядке, в котором она была выбрана?.. например, нажмите и перетащите из «пятого элемента в первый» в списке, как я могу получить 5 в качестве первого выбранного элемента. (так как он был выбран первым)