我刚刚向项目中添加了一个新的(MFC 功能包)CVSListBox 控件。控件中的项目列表由我的应用程序中的其他一些对象跟踪,因此当有任何更改时,我需要从列表框中获取大量通知,以便我可以更新其他内容。对于那些不知道该控件的人,有一个按钮栏提供基本的添加/删除/重新排序功能。
CVSListBox 控件为诸如添加或重命名项目以及更改它们的顺序之类的事情提供了可覆盖的虚函数——所有这些都很好地工作。
但是,对于删除项目,唯一的替代是 OnBeforeRemoveItem,它在项目被删除之前调用,并且必须返回 TRUE/FALSE 以允许删除。一旦删除发生,就没有具体的通知。
删除后获得通知的最佳方式是什么?
显然,这里有可能破解一些可怕的东西,因为在删除之后会有一个选择更改事件,并且可以从删除前保留一个标志来表示下一个选择更改是特殊的。但我觉得我错过了一些更清晰、更明显的东西。有什么建议么?