MFC:多窗口函数、变量调用
- 新建子窗口
- 窗口函数变量调用
新建子窗口
参考链接:
窗口函数变量调用
【说明】
复制代码
1
2
3
4
5
6MFC中的一个类A要想实现访问另外一个类B的对象的成员变量,这个类A必须要获得B类对象的指针: 常用方法: 维护一个单例样式; 设置静态变量; ps: 被调用的函数、变量为public模式下
【实现方法】
-
step1:新建文件
新建工程CMultipleCamera,基于对话框,
主窗口对话框函数类名为:CMultipleCameraDlg
子对话框为 :NGRcord(参考链接) -
step2:构建静态指针
①CMultipleCameraDlg.h 文件
在CMultipleCameraDlg类定义函数中public下定义
复制代码
1
2static CMultipleCameraDlg *p_mainwindow;
②CMultipleCameraDlg.cpp 文件
由于这个p_mainwindow指针式静态的,我们需要在类外初始化,那么我们在CMultipleCameraDlg.cpp文件中,写上一行初始化代码,直接初始化为空,如下:
复制代码
1
2
3//静态指针初始化 CMultipleCameraDlg *CMultipleCameraDlg::p_mainwindow = NULL; // 注意要写在类外,不要写在类实现函数里面)。
- step3:静态指针赋值
CMultipleCameraDlg类的构造函数或者 CMultipleCameraDlg.cpp文件中OnInitDialog()函数里面写上如下一句代码:
复制代码
1
2p_mainwindow = this; //pointer 赋值给主对话框指针 用于在其他对话框中调用主对话框的变量
- step4 子对话框中 获得静态指针
假设,在其他类中调用本类的函数时,需要在其实现cpp文件中声明这个全局指针即可:
以NGRcord类为例
①先在NGRcord.h中
#include “MultipleCameraDlg.h”
②NGRcord.cpp中实现CMultipleCameraDlg类中public m_IniFilePath变量调用
复制代码
1
2
3CMultipleCameraDlg *p_childDlg = CMultipleCameraDlg::p_mainwindow; m_initpath = p_childDlg->m_IniFilePath;
参考链接:
链接1:
链接2:
最后
以上就是贤惠小熊猫最近收集整理的关于MFC:多窗口函数、变量调用新建子窗口窗口函数变量调用的全部内容,更多相关MFC内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复