1、用vc新建一个dialog1工程。属性默认。
2、insert一个dialog2,改为child。
3、在dialog1中包含dialog2头文件,在一个按钮事件中显示dialog2:
Cdialog2 *p = new Cdialog2(this);
p->Create(IDD_Dialog2);
p->SetParent(this);//设置dialog1为父窗口
p->ShowWindow(SW_SHOW);
这样,dialog2便嵌到dialog1了,比用tabcontrol方便吧。现在很多应用程序的“设置”界面应该就是这样做的。
http://blog.csdn.net/lanmanck/article/details/3857896
让子窗口嵌入到父窗口是一个比较有意思的事情,比如我们常见的软件安装对话框,用此种方法就很方便的实现每个界面。如果只有一个窗体,那放起控件来可真要崩溃了。
VC-MFC也可以实现,请参考这篇文章:http://blog.csdn.net/lanmanck/archive/2009/02/02/3857896.aspx
QT中也可以实现,其实很简单,以QT4.5.2和QT4.7.0为例。
1、在当前工程新建一个窗口,继承自QDialog或者QWidget均可。
2、新建该窗口:f2 = new Form2(this);
3、在新窗口的构造函数中加上这句话:setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);hide();
另可以使用move移到合适位置。此位置相对于父窗口而言,而非桌面或者其他窗口。
4、在父窗口中调用该子窗口的show()即可。
http://blog.csdn.net/styyzxjq2009/article/details/7937508