《MFC中在一个对话框中弹出另一个对话框》由会员分享,可在线阅读,更多相关《MFC中在一个对话框中弹出另一个对话框(4页珍藏版)》请在金锄头文库上搜索。
1、MFC中在一个对话框中弹出另一个对话框在一个对话框中点按一个按钮弹出另外一个对话框。 弹出的对话框可以是模态和非模态两种,简单点讲,模态对话框就是在弹出的对话框没有关闭之前,是不能操作父对话框的。非模态可以。 这里介绍建立模态对话框。 在建立的时候可以有两种形式,一种是直接新建,一种是将已有的对话框整合添加进来。 第一种方式:新建弹窗 操作步骤 首先按步骤建立一个简单的对话框,并添加按钮。 然后点击Dialog添加资源 选择Dialog 新建 此时会出现新建好的对话框,右击选择属性可以修改名称。 设计新建的对话框 在对话框上右击选择添加类 填写类名称,点击完成 此时在解决方案资源管理器视图中就
2、会有新建的类,源文件及头文件 将这个头文件包含到主对话框的头文件中。 然后就是调用关系的产生, 双击主窗口在中的按钮,添加相应的处理函数 此时调试运行,点“刀”按钮,就会弹出设计好的刀的对话框。 当然,刀对话框中的设计就是走原来熟悉的路了。 另外一个键“剑” 也是同样的步骤。 这样弹出的对话框有个问题,就是感觉弹出的对话框缩放了,字体变小了。 在对话框上右击选择属性就可以看见设置字体的选项了,修改字体即可。 下来介绍第二种方式,添加现有的窗口。 第一步:同样按部就班的建立好基本工程。编译一下 第二步:拷贝文件 首先在当前工程目录下新建一个文件夹用来存放原有工程源码 需要拷贝下面选中的这几个文件
3、。拷贝到新建的这个文件夹下。由于现有工程中有resource.h文件,所以需要提前改一下名称,相应的WifiConfig.rc文件中有调用到这个文件,所以也要修改。用记事本打开.rc文件,将#include“Resource.h” 改为#include “Resource_2.h” 将这几个文件拷贝到新建的文件夹下。 还需要将原有工程res目录下的图标拷贝到现在工程的res目录下 第三步:添加文件到工程 首先是资源文件添加现有项,找到WiFI2Uart目录下的.rc文件。确定。 此时由于这个文件的路径发生了改变,所以文件中有的地方需要修改:修改.rc2和.ico文件的路径。 修改为 此时在资源
4、视图中就会有原有工程的组织目录,打开可以看到对话框 然后直接鼠标点住这个文件拖到现在工程目录下。 然后在解决方案视图中移除.rc文件。此时会弹出一个对话框提示WifiConfig.rc文件在外部被修改,是否保存?这个文件不用了,保不保存都可以。如果是弹出resource.h文件在外部被修改,是否保存。点否不保存。此时编译工程,应该是没有问题的。 第四步:添加源文件和头文件 这里新建筛选器其实就是新建组织目录,可以建立,也可以直接在这里添加源文件,但是新建组织目录会清楚点。 然后就会出现一个新的目录,在这个目录下添加文件。我是将一个模块的头文件和源文件都放在这里了。 下来是修改文件, 首先是修源文件,没有WifiConfig.h这个文件,所以注释条,由于在WifiConfig.h中包含有resource.h这个文件,所以在这里重新包含以下resource.h这个文件,注意路劲。 同样,WifiConfigDlg.h中也要包含以下这个头文件。 此时编译时没有问题的。 但是问题来了,怎么让原有的这个对话框和现在的对话框产生联系呢? 此时双击现在对话框中的按钮,添加处理函数 注:在原有工程的头文件中可以看到原有工程中定义的对话框窗口对象。那么相应的就得在现有文件中添加原有工程的那个头文件。 到这一步,大功告成。两个工程合体,可以通过现有对话框的按钮呼唤出原有工程的对话框了。