Проблемы с выделением и выделением в ClistCtrl

Я нашел некоторую проблему.

У меня есть класс, расширенный от CListCtrl. Когда я делаю двойной щелчок по строке, я выбираю ее. Все хорошо, но если я сортирую колонку, у меня проблема!

Например:
У меня есть ряд на второй позиции. Я выбрал его и отсортировал столбец, выделение осталось на второй позиции, но мой элемент переместился в 4-ю строку (и выделение переместилось в 4-ю строку)

У меня плохое предчувствие, что это может быть какая-то ошибка 🙁

Кто-нибудь видел такую ​​проблему?

PS: я не уверен, что должен предоставить какой-то код, потому что думаю, что все в порядке, но если понадобится, я опубликую его

Большое спасибо и простите за мой английский)

0

Решение

Я только видел эту проблему с представлениями списка данных владельца (LVS_OWNERDATA), поэтому я предполагаю, что это именно тот случай. У AFIK есть два возможных решения. Первый — сохранить состояние выбора самостоятельно, а затем использовать LVM_SETCALLBACKMASK, чтобы сообщить элементу управления, что вы предоставите состояние выбора. Вам также придется реагировать на щелчки мышью и обновлять массив данных. Другое решение — сохранить список выбранных элементов перед сортировкой, отменить выбор всех элементов, выполнить сортировку и затем, наконец, восстановить выбор, используя сохраненный список.

0

Другие решения

Других решений пока нет …