在MFC中使用一个单独的类实现数据在各个类之间的传递
第一步:使用VS2010创建一个基于MFC的单文档程序,然后 编译 运行 确定没有问题。
第二步:添加一个名叫CGszCommonData 类。
第三步:在应用程序类的头文件里 添加#include "GszCommonData.h"
// TestGsz.h : TestGsz 应用程序的主头文件
//
#pragma once #ifndef __AFXWIN_H__
#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif #include "resource.h" // 主符号
#include "GszCommonData.h" // CTestGszApp:
// 有关此类的实现,请参阅 TestGsz.cpp
//
第三步:
在类CGszCommonData添加一些变量,这些变量起到了不同类之间传递数据的作用。
//CGszCommonData的头文件应包含在应用程序类的头文件中,这样在其它类中引用CGszCommonData类时就不需要再包含了。
#pragma once
class CGszCommonData
{
public:
CGszCommonData(void);
~CGszCommonData(void); //声明一些全局的变量或者是函数
public:
static int xGsz; //定义性声明一个全局 整型变量
static int fGsz(int y); //声明一个全局函数
};
第四步:在CGszCommonData的实现文件里 给变量赋值 或是 给函数下定义
#include "StdAfx.h"
#include "GszCommonData.h" ///变量的赋值部分
int CGszCommonData::xGsz = 11; //初始化全局变量 ///函数的定义部分
CGszCommonData::CGszCommonData(void)
{
} CGszCommonData::~CGszCommonData(void)
{
}
int CGszCommonData::fGsz(int y) //全局函数,这里不要再加static
{
y++;
return y;
}
第五步:在那个希望可以交互数据的那个类的头文件里面 包含全局数据交换类的头文件。
此处我选择的 是应用程序类的的头文件里面
然后 创建一个变量 ,用于接收 GszCommonData里面的数据
public:
int GszaSend;
第六步:在应用程序类实现文件的初始化函数里面添加 下面程序
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 仅当具有后缀时才调用 DragAcceptFiles
// 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生 GszaSend=CGszCommonData::xGsz;
GszaSend=GszaSend+1; return TRUE;
第七步: 运行监控效果。
全套源代码:http://pan.baidu.com/s/1pJDiT0R
IDE:VS2010
系统:Windows7 64位
在MFC中使用一个单独的类实现数据在各个类之间的传递的更多相关文章
- 【C语言】在两个数成对出现的数组中找到一个单独的数。
//在两个数成对出现的数组中找到一个单独的数.比如{1,2,3.3,1,4.2},即找出4 #include <stdio.h> int find(int arr[], int len) ...
- ZeroMQ接口函数之 :zmq_msg_init_data - 从一个指定的存储空间中初始化一个ZMQ消息对象的数据
ZeroMQ 官方地址 :http://api.zeromq.org/4-1:zmq_msg_init_data zmq_msg_init_data(3) ØMQ Manual - ØMQ/3.2.5 ...
- C++类静态数据成员与类静态成员函数
from:://http://blog.csdn.net/taina2008/article/details/1684834 把类中的函数都定义成静态函数,这样相当于在编译时就分配了空间,这样不需要实 ...
- 如何导出标准模板库(STL)类的实例化和包含STL类对象数据成员的类
本文翻译自 https://support.microsoft.com/zh-cn/help/168958/how-to-export-an-instantiation-of-a-standard-t ...
- 《挑战30天C++入门极限》C++类静态数据成员与类静态成员函数
C++类静态数据成员与类静态成员函数 在没有讲述本章内容之前如果我们想要在一个范围内共享某一个数据,那么我们会设立全局对象,但面向对象的程序是由对象构成的,我们如何才能在类范围内共享数据呢? ...
- MFC 中 删除一个非空文件夹
MFC中提供了删除文件夹的一个封装函数 RemoveDirectory(LPCTSTR lpPathName),我们只要把要删除的文件夹的路径传进去就可以删除了,貌似一切如此简单.我象征性的建立一个文 ...
- 在Discuz X 中增加一个单独的页面
如果在DZ中增加一个新的页面,并且取得DZ中相关的用户等乱七八糟的属性,在旧的版本中只要引用一个 -. comm.php 文件就可以,但是在 X 版本以后好像就没.还好,X版本中还是有办法解决的,使用 ...
- MVVM框架中的一个非常重要的内容:数据双向绑定
双向绑定的意思就是,如下图中,当在input框中输入字符时,红色框框中的字也会随之改变. input框中需要一个绑定:ms-duplex(即“双工绑定”),http://avalonjs.github ...
- PyTorch 数据集类 和 数据加载类 的一些尝试
最近在学习PyTorch, 但是对里面的数据类和数据加载类比较迷糊,可能是封装的太好大部分情况下是不需要有什么自己的操作的,不过偶然遇到一些自己导入的数据时就会遇到一些问题,因此自己对此做了一些小实 ...
随机推荐
- 115个Java面试题和答案(下)
转自:http://www.importnew.com/11028.html 第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处 ...
- Mongodb的性能优化问题
摘要 数据库性能对软件整体性能有着至关重要的影响,对于Mongodb数据库常用的性能优化方法主要有: 范式化与反范式化: 填充因子的使用: 索引的使用: 一. 范式化与反范式化 范式是为了消除重复数据 ...
- Windows 安装、重装MySQL时,报错:could not start the service mysql
原因: 卸载mysql时并没有完全删除相关文件和服务,需要手动清除. 解决方法: 首先,在管理工具->服务里面将MySQL的服务给停止(有的是没有安装成功,有这个服务,但是已经停止了的). 然后 ...
- 文件 I/O 问题
文件 I/O 问题:(1)对不存在的或者错误的文件进行操作吗?(2)文件以不正确的方式打开吗?(3)文件结束判断不正确吗?(4)没有正确地关闭文件吗? #include <iostream> ...
- TMS320C64x DSP L1 L2 Cache架构(1)——C64x Cache Architecture
[前沿]研究生阶段从事于DSP和FPGA技术的相关研究工作,学习并整理了大量的技术资料,包括TI公司的官方文档和网络上的详细笔记,花费了大量的时间和精力总结了前人的工作成果.无奈工作却从事于嵌入式技术 ...
- NPOI例子
例子链接:http://www.cnblogs.com/atao/tag/NPOI/default.html?page=1
- 一个格式化字符串的函数ToString
A Formatting String Function 原文:http://flounder.com/tostring.htm CString ToString(LPCTSTR fmt, ...) ...
- html转pdf工具:wkhtmltopdf.exe
百度云下载:http://pan.baidu.com/s/1dEX0h93
- selenium基础框架的封装(Python版)这篇帖子在百度关键词搜索的第一位了,有图为证,开心!
百度搜索结果页地址:https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=se ...
- Appium自动化测试3之获取apk包名和launcherActivity后续
接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...