【发布时间】:2008-11-14 10:03:54
【问题描述】:
我有第一个对话框,上面有一个简单的按钮,单击按钮时,使用 CDialog::Create(IDD,this) 创建了第二个对话框。我希望在第二个对话框被销毁时通知父级,但不向第二个对话框添加任何代码,即不在 OnDestroy 方法中添加 m_pParent->Notify() 行。 我在父对话框中尝试了 OnParentNotify、PreTranslateMessage、SubclassWindow,但没有成功。我没有在第二个对话框中使用 WS_CHILD 样式。有什么想法吗?
完成:事实上,我有一个 ComboBox 派生类(但问题与按钮相同),我正在显示一个无模式对话框而不是显示列表框。但我希望控件尽可能通用,以便可以使用任何无模式对话框。这就是我不想在第二个对话框中添加特定通知的原因。如果我有义务,我会使用这个技巧,但我要求一个更通用的解决方案。 PreTranslateMessage 只捕获 WM_PAINT、WM_NCMOUSELEAVE 和 WM_NCMOUSEMOVE。
【问题讨论】:
-
好的,但你仍然没有告诉我们应该如何销毁无模式对话框。
-
如果您找到答案,请标记为这样。作为提问者,您有责任这样做。
标签: mfc