MFC单文档之利用全局变量一次设置多个对话框的串口通讯
来源:互联网 发布:晋中市网络平台登录 编辑:程序博客网 时间:2024/05/17 08:16
1、 引言
好多的对话框中建立了各自的串口控件,这样虽然稳定但是每次打开一个对话框都要重新连接串口,于是乎想到怎么用一个串口控件实现多个对话框通信,网上有方法云:在所有对话框外定义这个串口类的对象(比如在主窗口中),然后其它对话框要使用这个串口类对象, 就传一个指针到对话框中, 就可以使用了。麻烦,后来一想,其实只需要建立一个全局变量对应串口号就行了。
2、添加一个没有基类的新类, 设类名起为CMyPublicData, 可称之为公用类。
单击“Insert”菜单下的“New Class”命令, 选择“Class type”为“Generic Class”, 在“Name”栏中填入类名“CMyPublicData”, 单击“OK”, 则新类建立完毕。
3、创建全局的变量与全局函数
实际上是定义CMyPublicData 类的public 属性的成员变量和成员函数。
CMyPublicData.h 的内容:
class CMyPublicData{public:CMyPublicData(void);public:virtual ~CMyPublicData(void);public:int Public_x;//自定义了一个int 型全局变量Public_xvoid Public_f();//自定义了一个返回值类型void 无任何参数的全局函数Public_f};extern CMyPublicData MyPublicData; //这里声明了自定义全局对象
CMyPublicData.cpp 的内容:
#include "StdAfx.h"#include "CMyPublicData.h"CMyPublicData::CMyPublicData(void){}CMyPublicData MyPublicData; //实例化全局对象CMyPublicData::~CMyPublicData(void){}void CMyPublicData::Public_f()//函数的定义{//此处可增加函数完成实际功能的语句}
4、包含公用类的头文件, 使各个类都能访问它
CMyPublicData 的头文件应包含在应用程序类的头文件中,这样在其它类中引用CMyPublicData 类时就不需要再包含了。若应用程序类的头文件为Example.h, 其样式如下:
#include "CmyPublicData.h" //包含公用类头文件
5、使用全局变量和全局函数
可在整个工程中, 利用MyPublicData.Public_x 形式使用变量,可多次赋值, 多次调用, 利用MyPublicData.Public_f()形式调用函数。可实现了全局变量和全局函数。
如在视图的某函数中访问变量Public_x 和函数Public_f()。
void CTestView::xxx(){
MyPublicData.Public_x = 0; //访问变量Public_x
MyPublicData.Public_f(); //访问函数Public_f()
??}
在其它类中访问Public_x 和Public_f()的方法与此相同。
6、替代其余对话框中串口设置部分
串口设置对话框中:
CString portnums;GetDlgItemText(IDC_CARDNUM, portnums);int flag = _ttoi(portnums);//将其转化为数值类型MyPublicData.Public_com = flag;
其它对话框中:
int flag = MyPublicData.Public_com;
这样就只要设置一次就好了,
- MFC单文档之利用全局变量一次设置多个对话框的串口通讯
- MFC单文档之基于MSCOMM的多个编辑框的串口通讯
- MFC单文档之快速创建多个对话框类
- MFC单文档之串口通讯实现16进制数据的发送和接收
- MFC 单文档的全局变量
- MFC 单文档的全局变量
- MFC 单文档的全局变量
- MFC 单文档的全局变量
- MFC单文档之串口通讯三次无返回值报错提醒
- 基于MFC的单文档,多文档,对话框应用程序
- MFC 用于多个对话框的全局变量如何定义
- MFC单文档嵌入对话框
- MFC应用程序类型:单文档、多文档与基于对话框
- MFC 单文档、多文档和对话框程序
- MFC 单文档、多文档、对话框程序区分
- 【MFC】应用程序类型:单文档、多文档与基于对话框
- MFC单文档之串口数据发送和接收的校验
- 创建MFC应用程序的类型:单文档+多文档+基于对话框
- hdu 1097 A hard puzzle (快速幂)
- 别人家的技术leader是如何建设团队、管理人员、沟通工作的?
- java 集合精华一页纸
- 图解字符串的朴素模式匹配算法
- JSOUP 解析XML文件
- MFC单文档之利用全局变量一次设置多个对话框的串口通讯
- Visual Studio Code Extension 推荐
- 字符串和字符串的常见存储结构
- springmvc 拦截器
- 洛谷 P1447 能量采集
- Mysql中的高级运算
- 函数与函数使用
- kubeadm工作机制分析
- Java中守护线程的总结