gpt4 book ai didi

mfc - MFC 对话框中的父通知

转载 作者:行者123 更新时间:2023-12-04 02:55:49 34 4
gpt4 key购买 nike

我有第一个对话框,上面有一个简单的按钮,单击该按钮时,使用 CDialog::Create(IDD,this) 创建了第二个对话框。我希望在销毁第二个对话框但不向第二个对话框添加任何代码时通知父级,即不在 OnDestroy 方法中添加 m_pParent->Notify() 行。我在父对话框中尝试过 OnParentNotify、PreTranslateMessage、SubclassWindow 但没有成功。我没有为第二个对话框使用 WS_CHILD 样式。有什么想法吗?

要完成:事实上,我有一个 ComboBox 派生类(但问题与按钮相同)并且我正在显示无模式对话框而不是显示列表框。但我希望控件尽可能通用,以便可以使用任何无模式对话框。这就是我不想在第二个对话框中添加特定通知的原因。如果我有义务,我会使用这个技巧,但我要求一个更通用的解决方案。 PreTranslateMessage 仅捕获 WM_PAINT、WM_NCMOUSELEAVE 和 WM_NCMOUSEMOVE。

最佳答案

使用基类并让您的父类仅通过基类引用无模式子类。在基础 PostNcDestroy 中将其发布到父级。

让父级对所有消息进行大量过滤/监视是没有意义的。在基类中实现行为确实有意义,您希望无模式子代的所有不同 future 风格都具有这些行为。

关于mfc - MFC 对话框中的父通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289674/

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