窗口嵌入到另一个窗口(VC和QT都有)

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

原文地址:https://www.cnblogs.com/findumars/p/5604808.html