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