CDockablePane 作为选项卡式文档不会发送 WM_SETFOCUS 或 WM_MDIACTIVATE

发布于 2024-07-27 01:13:53 字数 268 浏览 6 评论 0原文

我有一个从 CDockablePane 派生的类。 当视图聚焦时我需要做一些事情,所以我处理 WM_SETFOCUS 并且大多数时候一切都很好。

但是,当窗格停靠在选项卡式文档模式 (TDI) 下并且用户激活它时,不会调用 WM_SETFOCUS。

我使用 Spy 并注意到 WM_MDIACTIVATE 消息被发送到窗格的父窗口。

但是,如果我在窗格内或主机内处理 WM_MDIACTIVATE,它也不会被调用。

我需要处理什么想法吗?

I have a class derived from CDockablePane. I need to do something when the view is focused, so I handle WM_SETFOCUS and it all works nicely most of the time.

But when the pane is docked in Tabbed Document mode (TDI), and the user activates it, the WM_SETFOCUS is not called.

I used Spy and noticed the WM_MDIACTIVATE message is sent to the pane's parent window.

However if I handle WM_MDIACTIVATE inside the pane or inside the mainframe, it does not get called either.

Any ideas what I need to handle?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

从﹋此江山别 2024-08-03 01:13:53

您可能需要继承框架类,并在框架收到 WM_MDIACTIVATE 时触发向视图发送自定义消息。

You may need to inherit the frame class and trigger the sending of a custom message to your views when WM_MDIACTIVATE is received by the frame.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文