我是靠谱客的博主 贤惠小熊猫,这篇文章主要介绍MFC:多窗口函数、变量调用新建子窗口窗口函数变量调用,现在分享给大家,希望可以做个参考。

MFC:多窗口函数、变量调用

  • 新建子窗口
  • 窗口函数变量调用

新建子窗口

参考链接:

窗口函数变量调用

【说明】

复制代码
1
2
3
4
5
6
MFC中的一个类A要想实现访问另外一个类B的对象的成员变量,这个类A必须要获得B类对象的指针: 常用方法: 维护一个单例样式; 设置静态变量; ps: 被调用的函数、变量为public模式下

【实现方法】

  1. step1:新建文件
    新建工程CMultipleCamera,基于对话框,
    主窗口对话框函数类名为:CMultipleCameraDlg
    子对话框为 :NGRcord(参考链接)

  2. step2:构建静态指针
    ①CMultipleCameraDlg.h 文件
    在CMultipleCameraDlg类定义函数中public下定义

复制代码
1
2
static CMultipleCameraDlg *p_mainwindow;

②CMultipleCameraDlg.cpp 文件

由于这个p_mainwindow指针式静态的,我们需要在类外初始化,那么我们在CMultipleCameraDlg.cpp文件中,写上一行初始化代码,直接初始化为空,如下:

复制代码
1
2
3
//静态指针初始化 CMultipleCameraDlg *CMultipleCameraDlg::p_mainwindow = NULL; // 注意要写在类外,不要写在类实现函数里面)。
  1. step3:静态指针赋值
    CMultipleCameraDlg类的构造函数或者 CMultipleCameraDlg.cpp文件中OnInitDialog()函数里面写上如下一句代码:
复制代码
1
2
p_mainwindow = this; //pointer 赋值给主对话框指针 用于在其他对话框中调用主对话框的变量
  1. step4 子对话框中 获得静态指针
    假设,在其他类中调用本类的函数时,需要在其实现cpp文件中声明这个全局指针即可:
    以NGRcord类为例
    ①先在NGRcord.h中
    #include “MultipleCameraDlg.h”
    ②NGRcord.cpp中实现CMultipleCameraDlg类中public m_IniFilePath变量调用
复制代码
1
2
3
CMultipleCameraDlg *p_childDlg = CMultipleCameraDlg::p_mainwindow; m_initpath = p_childDlg->m_IniFilePath;

参考链接:
链接1:
链接2:

最后

以上就是贤惠小熊猫最近收集整理的关于MFC:多窗口函数、变量调用新建子窗口窗口函数变量调用的全部内容,更多相关MFC内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部