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