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

概述

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:多窗口函数、变量调用新建子窗口窗口函数变量调用的全部内容,希望文章能够帮你解决MFC:多窗口函数、变量调用新建子窗口窗口函数变量调用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部