gpt4 book ai didi

c++ - 删除后的 CVSListBox 通知

转载 作者:太空狗 更新时间:2023-10-29 23:10:23 25 4
gpt4 key购买 nike

我刚刚将一个新的(MFC 功能包)CVSListBox 控件添加到项目中。控件中的项目列表由我的应用程序中的其他一些对象跟踪,因此我需要在任何更改时从列表框中获取大量通知,以便我可以更新其他内容。对于那些不知道控件的人,这里有一个按钮栏,它提供基本的添加/删除/重新排序功能。

CVSListBox 控件提供可重写的虚函数,用于添加或重命名项目以及更改它们的顺序 - 所有这些都运行良好。

但是,对于删除项目,唯一的覆盖是 OnBeforeRemoveItem,它在项目被删除之前被调用,并且必须从中返回 TRUE/FALSE 以允许删除。删除发生后,没有具体的通知。

删除后获得通知的最佳方式是什么?

显然这里有可能破解一些可怕的东西,因为在删除之后会有一个选择更改事件,并且有可能从删除之前持有一个标志来说明下一个选择更改是特殊的.但我觉得我错过了一些更清晰、更明显的东西。有什么建议吗?

最佳答案

假设该项目每次都会真正被删除,您可以:

  • 在 OnBeforeRemoveItem 覆盖中进行处理,就好像该项目已被删除
  • 引发您自己的 OnAfterItemRemoved 事件
  • 看看您是否可以获得底层列表控件(无论它是什么)的句柄并 Hook 其中一个事件

关于c++ - 删除后的 CVSListBox 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com