新しい (MFC Feature Pack) CVSListBox コントロールの 1 つをプロジェクトに追加しました。コントロール内のアイテムのリストは、アプリケーション内の他のオブジェクトによって追跡されるため、何かが変更されたときにリスト ボックスから多くの通知を受け取り、他のものを更新できるようにする必要があります。コントロールを知らない人のために、基本的な追加/削除/並べ替え機能を提供するボタン バーがあります。
CVSListBox コントロールは、項目の追加や名前の変更、順序の変更などのオーバーライド可能な仮想関数を提供します。これらはすべてうまく機能します。
ただし、アイテムを削除する場合、唯一のオーバーライドは OnBeforeRemoveItem です。これは、アイテムが削除される前に呼び出され、削除を許可するために TRUE/FALSE を返す必要があります。削除が行われると、特定の通知はありません。
削除後に通知を受け取る最良の方法は何ですか?
明らかに、削除後に選択変更イベントが発生するという点で、ここで何か恐ろしいことをハックすることが可能であり、次の選択変更が特別であると言うために削除前からフラグを保持することが可能です。しかし、よりクリーンで明白なものが欠けているように感じます。助言がありますか?