Я только что добавил один из новых (MFC Feature Pack) элементов управления CVSListBox в проект. Список элементов в элементе управления отслеживается некоторыми другими объектами в моем приложении, поэтому мне нужно получать множество уведомлений из списка, когда что-то меняется, чтобы я мог обновить другие элементы. Для тех, кто не знает элемент управления, есть панель кнопок, которая предлагает базовые функции добавления / удаления / изменения порядка.
Элемент управления CVSListBox предлагает настраиваемые виртуальные функции для таких вещей, как добавление или переименование элементов и изменение их порядка - все это прекрасно работает.
Однако для удаления элементов единственным переопределением является OnBeforeRemoveItem, который называется ПЕРЕД удалением элемента, и из которого необходимо вернуть TRUE / FALSE, чтобы разрешить удаление. Как только удаление выполнено, особых уведомлений нет.
Какой лучший способ получить уведомление ПОСЛЕ удаления?
Очевидно, что здесь можно взломать что-то ужасное, в том случае, если после удаления будет изменено выделение, и можно будет удерживать флаг перед удалением, чтобы сказать, что следующее измененное выделение является особенным , Но я чувствую, что мне не хватает чего-то более чистого и очевидного. Есть предложения?