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

本文介绍了如何在MFC中使用静态指针来实现在不同对话框间访问和调用公共变量,通过实例演示了如何在CMultipleCameraDlg和NGRcord对话框之间共享变量,包括步骤1-4的详细操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

新建子窗口

参考链接:

窗口函数变量调用

【说明】

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

【实现方法】

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

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

   static CMultipleCameraDlg *p_mainwindow;

②CMultipleCameraDlg.cpp 文件

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

//静态指针初始化
CMultipleCameraDlg *CMultipleCameraDlg::p_mainwindow = NULL; // 注意要写在类外,不要写在类实现函数里面)。
  1. step3:静态指针赋值
    CMultipleCameraDlg类的构造函数或者 CMultipleCameraDlg.cpp文件中OnInitDialog()函数里面写上如下一句代码:
p_mainwindow = this;  //pointer 赋值给主对话框指针    用于在其他对话框中调用主对话框的变量
  1. 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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间之里

好东西就应该拿出来大家共享

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值