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:

MFC:多窗口函数、变量调用相关推荐

  1. js如何通过变量调用函数,函数名在变量里面

    js如何通过变量调用函数,函数名在变量里面. 有时候函数名是动态定义的,这时候我们就需要用到这个方法了. //赋值函数名称 var a = "b"; //定义函数 function ...

  2. UNITY引擎变量调用产生不必要内存分配

    UNITY引擎变量调用产生不必要内存分配 https://unity3d.com/de/learn/tutorials/topics/performance-optimization/optimizi ...

  3. C语言学习之通过指针变量调用它所指向的函数

    通过指针变量调用它所指向的函数 int main(){int max(int,int);//函数声明int (*p)(int,int);//定义指向函数的指针变量pint a,b,c;p=max;// ...

  4. VS2019 MFC模式下如何调用控制台并用cprintf在控制台打印

    VS2019 MFC模式下如何调用控制台并用cprintf在控制台打印 哪个大冤种还在用MFC,哦是我 运行MFC程序,界面出来的时候一般是没有控制台的,也就是说看不到任何printf的结果,有时候就 ...

  5. C语言用函数指针变量调用函数

    一.用函数指针变量调用函数 一个函数,在编译的时候 ,系统会给这个函数分配一个入口地址,这个入口地址就称为函数的指针(地址).既然有地址,那么我们可以定义一个指针变量指向该函数,然后,我们就可以通过该 ...

  6. 不用变量调用 同一个累加函数 -- struct A a 与 struct A *a 区别

    1.指针调用 函数代码: void proc_temp_not_reach(u32 time, u16 temp, u16 set_temp, TEMP_NOT_REACH_ALARM_STRUCT ...

  7. MFC DLL 不能正确调用的问题 + AFX_MANAGE_STATE(AfxGetStaticModuleState());

    今天下午用mfc对话框程序调用另一个mfc dll,这是问题出现了,程序正常运行,但是点击对话框上的按钮并不能调用DLL里面的资源,尝试了各种办法也无法解决,吃完晚饭后,沉下心来重头看代码,发现了这样 ...

  8. VS 2008 mfc 智能应用程序 调用 C# webservice.(二)(gsoap+wince)

    在桌面窗体应用程序 ,服务调用成功 ,上传文件成功了,本以为WM中也是一样啊 依葫芦画瓢,靠,没想到啊............ 项目->属性->常规->公共语言库支持,靠 没有这一选 ...

  9. java 在主方法中定义两个变量 调用方法进行加10_计算机考试二级考试Java模拟试题附答案...

    全国计算机等级考试二级考试,需要考生在考前做好足够的复习准备,下面小编为大家带来计算机考试二级考试Java模拟试题,供各位考生练习! 计算机考试二级考试Java模拟试题一 1.类Test1定义如下:p ...

最新文章

  1. 阿里2022“研究型实习生”计划公布,开放200多个科研选题
  2. 编译包含Google Play服务App的SDK版本问题
  3. Java中使用Jedis操作Redis
  4. 北交大计算机学院教授,北京交通大学计算机与信息技术学院研究生导师:鲁凌云...
  5. python变量类型是动态的_Python 学习 第四篇:动态类型模型
  6. 世界上没有技术驱动型公司
  7. 赛码网算法: 上台阶 ( python3实现 、c实现)
  8. 如何保持纯洁男女关系……
  9. opensips mysql 版本_Opensips-1.11版本安装过程
  10. php短路逻辑,JS利用短路原理简写if语句
  11. Java基础学习总结(159)——JDK15 正式发布了!新增14个新特性
  12. WebSocket之JS发送二进制
  13. SQL Server多表同时查询
  14. STM32(一)- 基于固件库的工程模板
  15. Eclipse ADT Bundle 整合包下载地址(百度网盘)
  16. OSChina 周六乱弹 —— 看见这花臂了么?赶紧叫大佬!
  17. 举个栗子!Tableau技巧(6):妙用Index函数来改变数据排序
  18. 2021-03-28
  19. 通信基础篇小项目-----简单网络画板的的实现
  20. cp: -r not specified; omitting directory '/usr/local/'

热门文章

  1. java消息推送怎么实现_调用钉钉接口实现机器人推送消息
  2. 提高抗打击能力_输不起、爱放弃,孩子抗挫能力差怎么办?3招教你培养孩子抗挫力...
  3. 【JUC并发编程04】线程间定制化通信(单标志法存在的问题)
  4. 【Java】6.4 final 修饰符
  5. 手把手教你手动创建线程池
  6. java网络编程(四)
  7. 蓝桥杯-5-1最小公倍数(java)
  8. Hibernate核心配置文件cfg参数说明
  9. html中h3的样式,比较好看的css自定义样式(标题 h1 h2 h3)
  10. 藏青色在html页面怎么写,Html页面支持暗黑模式的实现