gpt4 book ai didi

c++ - OnSetActive() 的 'opposite' 是什么?

转载 作者:行者123 更新时间:2023-11-30 03:04:08 25 4
gpt4 key购买 nike

我有一堆 PropertyPages 与 PropertyPage 粘在一起(以创建选项卡式 View )。其中一个页面在其 OnSetActive() 方法中启动一个计时器来刷新一些状态信息。现在,如果我离开此选项卡并更改我的 View ,我希望此计时器停止。 “离开”选项卡后会触发哪个事件?我试过 OnKillActive()、OnClose()、OnKillFocus() 但它们都没有按预期工作。有什么想法吗?

最佳答案

根据文档,OnKillActive 应该正是您要寻找的。如果您在函数中放置一个断点,您会命中它吗?

通常当您离开一个标签时,该标签仍然存在并在后台等待。您可以继续等待计时器消息,如果您不是事件选项卡则忽略它。

编辑:您在评论中说没有调用 OnKillActive。 MFC 的优点之一是 Microsoft 为您提供了源代码供您浏览;在 CPropertyPage::OnNotify 中生成对 OnKillActive 的调用。有几个条件会导致它在到达那个点之前提前返回。一个是对 CDialog::OnNotify 的调用,它有可疑的注释“允许消息映射覆盖”。这意味着如果您有自己的 WM_NOTIFY OnNotify 处理程序,并且它返回 TRUE,则默认处理将被跳过。

关于c++ - OnSetActive() 的 'opposite' 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8912191/

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