[MFC] A对话框调用B对话框

简介: [MFC] A对话框调用B对话框

   假设A为主对话框,调用B子对话框时,首先需要在A的头文件中声明#include“B.h”

        然后,在A的按钮函数是编写如下代码:

        法一:在A对话框按钮对应的函数中声明一个B类型的指针,通过指针来达到调用B对话框的效果

//CDlgTestMode  *dlh=new CDlgTestMode; //CDlgTestMode 为B的基类,这也是A中包含B头文件的原因
  //dlh->Create(IDC_STATIC_TEST_MODE,this);  //第一个参数是被调用对话框ID号
  //dlh->ShowWindow(SW_SHOW);

这种方法有时候会出错。

        法二:通过DoModal()函数来实现

CDlgTestMode dlgTestMode(this);  //CDlgTestMode  为B的基类
  dlgTestMode.DoModal();
  Invalidate(FALSE);

注:如果用户点击了确定按钮,那么DoModal()函数就返回IDOK,此时进入if语句。IDOK是一个宏。

当你CMyDlg dlg;时,对话框并没有显示,只是构造了一个CMyDlg类型的对象而已,直到用户调用DoModal(),对话框才会显示出来。

        以上函数都是在A主函数的按钮中实现。

目录
相关文章
|
10月前
|
程序员 Windows
【windows编程之对话框】对话框原理,对话框的创建
【windows编程之对话框】对话框原理,对话框的创建
|
数据安全/隐私保护
MFC——对话框的创建及使用(下)
MFC——对话框的创建及使用
197 0
MFC——对话框的创建及使用(下)
|
测试技术 BI 区块链
MFC——对话框的创建及使用(上)
MFC——对话框的创建及使用
948 0
MFC——对话框的创建及使用(上)
MFC中如何给子对话框添加图标
MFC中如何给子对话框添加图标
342 0
在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图)。 1. 首先,打开在资源视图的String Table并添加两个ID:ID_INDICATOR_NISH 和ID_INDICATOR_TIME,如下图 2.
1132 0
MFC弹出对话框几种方法总结
一、点击菜单按钮弹出对话框 1、在资源视图中(.rc文件夹下)找到menu,选择需要弹框的菜单项; 2、点击菜单项,修改菜单ID,在主程序中用ON_COMMAND()将ID和函数关联,要在主程序的头文件中声明被关联函数; ...
3589 0
|
区块链
MFC创建单文档工程(左上角名称前的mfc图标修改为其他需求图标)
资源视图——VT_Ards.rc——右键选择添加资源,选择menu,然后导入 (提前最好把ico图标放到工程文件下的res文件夹下) 图标属性ID为:IDR_MAINFRAME ...
1429 0