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

窗口嵌入到另一个窗口(VC和QT都有)的更多相关文章

  1. vscode 打开新文件覆盖窗口,始终显示一个窗口

    一直在使用vscode 编辑器,里面的扩展用的比较舒服,但是最近遇到一个小问题,一直也没有找好的解决办法,今天无意中把问题给解决了.具体如下 之前使用编辑器,可以同时打开多个文件,而且是多窗口展示的, ...

  2. 让你的QT显示一个窗口吧

    项目文件 01_QtTest.pro #------------------------------------------------- # # Project created by QtCreat ...

  3. Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...

  4. Android窗口管理服务WindowManagerService对窗口的组织方式分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8498908 我们知道,在Android系统中, ...

  5. 2019-6-23-WPF-解决弹出模态窗口关闭后,主窗口不在最前

    title author date CreateTime categories WPF 解决弹出模态窗口关闭后,主窗口不在最前 lindexi 2019-06-23 11:48:38 +0800 20 ...

  6. WPF 解决弹出模态窗口关闭后,主窗口不在最前

    本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口.使用另一个窗口在模态窗口前面.从任务栏打开模态窗口.关闭模态窗口.这时发现,主窗口会在刚才使用的另一个窗口下面 这是 Windows ...

  7. WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口)

    原文 WPF 同一窗口内的多线程/多进程 UI(使用 SetParent 嵌入另一个窗口) WPF 的 UI 逻辑只在同一个线程中,这是学习 WPF 开发中大家几乎都会学习到的经验.如果希望做不同线程 ...

  8. Qt实现嵌入桌面的半透明窗口 good

    这儿用上了前面一文提到的函数findDesktopIconWnd().见: http://mypyg.blog.51cto.com/820446/263349 一.将Qt窗口嵌入到桌面中.声明一个最简 ...

  9. OpenGL编程逐步深入(一)创建一个窗口

    原文地址:http://ogldev.atspace.co.uk/ 原文中使用gnu make进行项目管理,本系列文章使用visual studio2012.在翻译过程中并非直译,加入了一些笔者个人观 ...

随机推荐

  1. VBA基础——循环语句

    VBA基础之循环语句 Sub s1() Dim rg As Range For Each rg In Range("a1:b7,d5:e9") If rg = "&quo ...

  2. Linux学习awk命令

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  3. mysql sql学习(一)mysql连接

    mysql -h 192.168.3.103 -uroot -p123456 //连接数据库 \s :查看数据库状态 show databases; 查看是数据库 create database if ...

  4. Python进阶之面向对象编程概述

    Python面向对象编程(一) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB& ...

  5. git彻底删除commit记录的方法

    在github上,如果非默认分支的话,直接用以下方法: git reset --hard <commit_id> git push origin HEAD --force 如是默认分支,需 ...

  6. VHDL数据类型转换

    函     数     名                                     功           能 STD_LOGIC_1164包集合          TO_STDLOG ...

  7. xtrabackup执行备份要拥有的权限

    xtrabackup备份的原理: xtrabackup直接复制datadir目录中的文件到备份目录下.这样问题就来了,在备份的时候mysql可以还在执行写入操作:所以xtrabackup会不停的去扫描 ...

  8. c# 多显示器设置主屏幕(Set primary screen for multiple monitors)

    原文 http://www.cnblogs.com/coolkiss/archive/2013/09/18/3328854.html 经过google加各种百度,终于找到了一个有效的解决方案,下面是两 ...

  9. chromedriver bug

    https://github.com/FuckTheWorld/chromedriver/issues/1145 https://bugs.chromium.org/p/chromedriver/is ...

  10. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...