目前我的资源中有两个对话框模板。
我想动态地将正确模板上的内容添加到 左侧模板上的对话框。我该怎么做?
输出应如下所示:
另外,我正在使用MFC c ++。我对此非常陌生,我真的很感激任何帮助!
这是我尝试做的,但只有主对话框会显示:
MainDialogBox *mainDlg = new MainDialogBox();
subDialogBox *subDlg = new subDialogBox(mainDlg);
答案 0 :(得分:2)
通过删除其标题栏和边框样式来更改子对话框模板。这将使它融入并看起来像父对话框的一部分。
然后,您将子对话框创建为无模式对话框,其父窗口是父对话框。 (使用CDialog :: Create创建无模式对话框。)如果您已经这样做并且第二个对话框未显示,则可能未设置“可见”样式。
创建父对话框时,请为其指定样式WS_EX_CONTROLPARENT。这将有助于父母和孩子之间的键盘导航。
最后,您需要将子对话框放在父对话框中所需的位置。父对象可以将x,y点或矩形传递给对话框构造函数。然后,子(在OnInitDiialog中)可以通过调用SetWindowPos定位自己。