如何在其父窗口关闭时通知 TabCtrl?
Posted
技术标签:
【中文标题】如何在其父窗口关闭时通知 TabCtrl?【英文标题】:How to notify TabCtrl when its parent window closes? 【发布时间】:2014-01-19 16:33:53 【问题描述】:我用的是BCG Pro的控件CBCGPTabWnd
,里面包含多个tab窗口,当调用父Dialog的OnOK()
时,不知道怎么通知tab窗口进行清理和保存工作。
而且我无法为这些选项卡窗口添加公共接口来调用来执行此操作。
现在我在父级的 OnOK
处理程序中使用 TabWnd->SendMessage(WM_COMMAND, IDOK)
来为这些子选项卡窗口激发 OnOK 消息,因为它们实际上是基于对话框的窗口。
我这样做对吗?
PS:一般情况下我可以明确通知他们会更好,WM_DESTROY是一个选项,但它只能用于Closing,并且很难控制时间
【问题讨论】:
为什么不处理 WM_DESTROY?当父窗口被销毁时,子窗口至少会收到此消息。你也有 WM_PARENTNOTIFY 通知父母关于孩子的破坏。 谢谢。我考虑过这一点。但如果有更明确的方式会更好,因为有时我希望选项卡窗口在其他情况下保存工作而不是关闭。那么我还能做些什么来定义我的自定义消息呢? 添加一条WM_APP+n消息并发送给所有后代。 @xMRi 好的...如果你回答,我可以投票 【参考方案1】:只需在内部使用 WM_APP+n 发送一条私人/诅咒消息。 使用 ON_MESSAGE 处理它。
如果您的父母需要通知嵌入的子窗口,这可以对每种情况做出反应。您可以在不同的窗口类型中实现它。
【讨论】:
以上是关于如何在其父窗口关闭时通知 TabCtrl?的主要内容,如果未能解决你的问题,请参考以下文章
.NET中开发WinForm程序,如何通过一个窗口打开另外一个窗口,要求上一窗口关闭