目前我的资源中有两个对话框模板。
我想把右边模板上的内容动态添加到 左侧模板对话框。我该怎么做?
输出应该是这样的:
此外,我正在使用 MFC c++。我对此很陌生,非常感谢任何帮助!
这是我尝试做的,但只有主对话框会显示:
MainDialogBox *mainDlg = new MainDialogBox();
subDialogBox *subDlg = new subDialogBox(mainDlg);
最佳答案
通过移除其标题栏和边框样式来更改子对话框模板。这将使它融入并看起来像父对话框的一部分。
然后将子对话框创建为无模式对话框,其父窗口是父对话框。 (使用 CDialog::Create 创建无模式对话框。)如果您已经这样做并且第二个对话框没有显示,则可能您没有设置“可见”样式。
当您创建父对话框时,为其指定样式 WS_EX_CONTROLPARENT。这将有助于 parent 和 child 之间的键盘导航。
最后,您需要将子对话框放置在父对话框上您想要的位置。父级可以将 x、y 点或矩形传递给对话框构造函数。然后 child (在 OnInitDiialog 中)可以通过调用 SetWindowPos 来定位自己。
关于c++ - MFC如何将两个对话框合并为一个对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19773840/