在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, 但是对里面的数据类和数据加载类比较迷糊,可能是封装的太好大部分情况下是不需要有什么自己的操作的,不过偶然遇到一些自己导入的数据时就会遇到一些问题,因此自己对此做了一些小实 ...
随机推荐
- linux 测试工具
最近在寻找linux的测试工具,试用了一些.记录如下. memtester 内存测试工具,通过对内存进行读写进行测试.可以对同一块空间进行多次的读写. 源码分析 http://www.cnblogs. ...
- 第二百六十四节,Tornado框架-基于正则的动态路由映射分页数据获取计算
Tornado框架-基于正则的动态路由映射分页数据获取计算 分页基本显示数据 第一步.设置正则路由映射配置,(r"/index/(?P<page>\d*)", inde ...
- git fork同步是什么意思?
这篇文章主要介绍了git fork同步是什么意思?fork到了哪里?有什么用?怎样用?跟clone有什么差别?本文就一一解释这些问题,须要的朋友能够參考下 官方文档:http://help.githu ...
- 对特殊字符编码js与c#中的处理方法
js: encodeURIComponent();编码 c#: Uri.UnescapeDataString();解码
- myForm.js
根据控件名,重现一些特殊的表单项,生成html var can_submit = true; function myForm($form_id, $id_value, province, city, ...
- vue2.0中,由于页面完成之后dom还未加载完成如何进行操作
再vue中,当页面加载完成以后,dom还没有加载,是无法获取进行操作的,但是在vue2.0中提供了一个方法:this.$nextTick,在这个回调函数里面写dom操作即可: 如下代码: create ...
- css做鼠标指向图片图片放大但边框不放大
这是一个圆形边框做的效果 HTML <div class="circle-wrapper"> <img src="" > </di ...
- msvcp71.dll 怎么丢失的?如何修复
解决方法:另一台电脑上下载这个dll,再用优盘拷回来,复制到c:\windows\system32\下. 个人遇到的情况:迅雷下载东西时,或者在操作迅雷时出现的. win7 64位下 点击下载
- Javascript-可定义位数的十进制转二进制
// 十进制转二进制 function binary (num, Bits) { var d = parseInt(num / 2) var resArry = [num % 2] for(; d ! ...
- Struts2的CRUD操作
Struts之CRUD 1何为CRUD:CRUD代表的是一个框架的Create(增),Read(读取),update(更新),Delete(删除) 2怎么做呢?? 其实Struts2的CRUD与现实的 ...