将UI插入另一个MFC对话框

将UI插入另一个MFC对话框,mfc,dialog,Mfc,Dialog,我有一个MFC应用程序(exe),它的主UI中包含两个窗格。此应用程序加载另一个也包含一个对话框的DLL。如何通过编程将定义的对话框放入DLL中,并将其放入MFC应用程序的窗格中?问题不在于如何通过编程方式从DLL中检索对话框,而在于如何将此对话框“放在属于应用程序的一个UI窗格的顶部”(内部) 我的目标是使用从dll检索的对话框自定义应用程序的UI,并让用户感觉这些对话框都属于一个应用程序UI。谢谢您的提示。我有一些应用程序具有此功能,通常带有一个选项卡控件,可以在窗口之间切换 首先,我在co

我有一个MFC应用程序(exe),它的主UI中包含两个窗格。此应用程序加载另一个也包含一个对话框的DLL。如何通过编程将定义的对话框放入DLL中,并将其放入MFC应用程序的窗格中?问题不在于如何通过编程方式从DLL中检索对话框,而在于如何将此对话框“放在属于应用程序的一个UI窗格的顶部”(内部)


我的目标是使用从dll检索的对话框自定义应用程序的UI,并让用户感觉这些对话框都属于一个应用程序UI。谢谢您的提示。

我有一些应用程序具有此功能,通常带有一个选项卡控件,可以在窗口之间切换

首先,我在container窗口中设置了一个用户看不见的框架。框架只是对话框窗口所在位置的占位符


然后在容器类中将对话框窗口作为全局变量创建一个实例,将对话框窗口创建为无模式窗口(使用
create()
,而不是
DoModal()
),将窗口移动到与框架控件相同的
RECT
,并调用
ShowWindow()
以显示窗口。

我是否正确理解您不希望对话框显示为对话框,而是显示为另一个窗口的内容或窗格

换句话说,你想去掉对话框的标题栏,将对话框的内容嵌入到另一个窗口中,对吗


这是可能的。您需要创建不带标题栏的对话框(更改窗口样式),并确保将对话框的窗口创建为您希望内容进入的窗口的子窗口。我可以进一步解释,但我首先想知道我是否正确理解你

谢谢。是的,这就是我想做的。使用SetParent设置父/子,我想?WS_CHILDWINDOW是关键。我认为SetParent还不够做这个把戏。您需要使用CreateWindowEx()创建窗口,并确保将第三个参数设置为包含WS\u CHILDWINDOW。参数4和5可用于窗口的位置,参数6设置父窗口。