C++代码审阅–ice104协议从站(4)
发布日期:2021-06-20 18:34:21 浏览次数:3 分类:技术文章

本文共 2975 字,大约阅读时间需要 9 分钟。

代码理解

IEC104NASlaveDlg.h窗口头文件

已注释过内容不再注释,请参考

// IEC104NASlaveDlg.h : header file//#if !defined(AFX_IEC104NASLAVEDLG_H__76F8CBDC_BEBC_42FD_920C_759778DCC183__INCLUDED_)#define AFX_IEC104NASLAVEDLG_H__76F8CBDC_BEBC_42FD_920C_759778DCC183__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000// #include "Slave104.h"#include 
#define WM_MYMESSAGE WM_USER+100 //自定义消息/// CIEC104NASlaveDlg dialogclass Slave104;class CIEC104NASlaveDlg : public CDialog{
// Constructionpublic: CIEC104NASlaveDlg(CWnd* pParent = NULL); // standard constructor ,标准构造函数CIEC104NASlaveDlg virtual ~CIEC104NASlaveDlg(); //定义析构函数~CIEC104NASlaveDlg// Dialog Data //{
{AFX_DATA(CIEC104NASlaveDlg) enum {
IDD = IDD_IEC104NASLAVE_DIALOG }; //枚举资源视图成员 CButton m_startListen; // 启动监听按钮 CButton m_stopListen; // 停止监听按钮 CListBox m_revList; //接收列表框 CListBox m_sendList; //接收列表框 //}}AFX_DATA // ClassWizard generated virtual function overrides //{
{AFX_VIRTUAL(CIEC104NASlaveDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support ,定义DoDataExchange函数 //}}AFX_VIRTUAL// Implementationprotected: HICON m_hIcon; //窗口图标 public: void SetButtonState(BOOL state); void SetRemainTimeCtrl(int nType, int nRemainSecond, BOOL isInvalid); void SetTimeCtrl(int nType, BOOL isInvalid); void MyMemcpy(void *, void *, int len); BOOL StartListen(); Slave104 *slave;// static DWORD WINAPI ClientThread(LPVOID lpParam);// int GetIp();// SOCKET client;// sockaddr_in from; BYTE YXData[288]; //遥信数组 288// BYTE YCData[6000]; DWORD YMData[20]; //遥脉数组 20 WORD YCData[2951]; //遥测数组2951 // Generated message map functions //{
{AFX_MSG(CIEC104NASlaveDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnButtonStart(); afx_msg LRESULT OnRevMsg(WPARAM wParam,LPARAM lParam); afx_msg void OnButtonDeflectionyx(); afx_msg void OnButtonSoe(); afx_msg void OnButton1(); afx_msg void OnButtonStoplisten(); afx_msg void OnButtonClearlist(); afx_msg void OnButtonSavemsg(); //}}AFX_MSG ,此块定义了一些消息标识 DECLARE_MESSAGE_MAP()};//{
{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_IEC104NASLAVEDLG_H__76F8CBDC_BEBC_42FD_920C_759778DCC183__INCLUDED_)

文件含义

IEC104NASlaveDlg.h这个文件主要定义了窗口界面里面的一些元素和消息的定义,在IEC104NASlaveDlg.cpp里实现界,可以看下图界面。

在这里插入图片描述
附上dialog所有界面元素属性表

元素名称 对象名
启动侦听 IDC_BUTTON_START
停止侦听 IDC_BUTTON_STTOPLISTEN
不回复启动帧 IDC_CHECK_NORESPONSESTART
变位遥信 IDC_BUTTON_DEFLECTIONYX
SOE IDC_BUTTON_SOE
SOE IDC_BUTTON1
SOE IDC_BUTTON1
T1起始示例编辑框 IDC_TIME_T1
T2起始示例编辑框 IDC_TIME_T2
T3起始示例编辑框 IDC_TIME_T3
T1剩余示例编辑框 IDC_REMAIN_T1
T2剩余示例编辑框 IDC_REMAIN_T2
T3剩余示例编辑框 IDC_REMAIN_T3
发送数据区 IDC_LIST_SENDMSG
接收数据区 IDC_LIST_MSG
保存报文 IDC_BUTTON_SAVEMSG
清空数据区 IDC_BUTTON_CLEARLIST
确定 IDOK
取消 IDCANCLE

相关基础知识

1.计算机网络中拥塞窗口:

2.指针:
3.构造函数和析构函数:
4.自定义消息:
5.枚举:
6.MFC窗口控件
7.关键字:
8.MFC函数DoDataExchange:
9.比特、字节、字:

转载地址:https://blog.csdn.net/Hughier/article/details/109668491 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:记录influxdb -select语句查询某列某个关键字的一段时间数据
下一篇:C++代码审阅--ice104协议从站(3)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年02月27日 17时49分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

德国大众20亿欧元押宝中国电动车市场 2019-04-18
德国奔驰将自主研发车载系统MB.OS,对抗Tesla 2019-04-18
数据结构之——堆(Heap) 2019-04-18
JavaScript初学 学习笔记1:JavaScript变量,数据类型以及显式类型转换 2019-04-18
JavaScript初学 学习笔记2:JavaScript隐式类型转化详解 2019-04-18
vscode如何直接运行html 2019-04-18
JavaScript初学 学习笔记3:JavaScript函数知识点(1) 2019-04-18
数据结构——堆的基本操作(堆的建立、插入、删除等)详解 2019-04-18
数据结构——哈夫曼树深入浅出含图解(含C++代码实现) 2019-04-18
JavaScript初学 学习笔记4:JavaScript之预编译深入浅出(看完肯定就懂了,别再放收到藏夹吃灰了) 2019-04-18
原生JS实现扫雷——项目总结 2019-04-18
原生JS实现——flappy bird 像素小鸟 项目总结 2019-04-18
数据结构实验——年级学生成绩管理系统 2019-04-18
数据结构实验——表达式二叉树( 以递归方式建立表达式的二叉树状结构,再分别输出前序 、中序及后序遍历结果,并计算表达式的结果。) 2019-04-18
1.LeetCode(两数之和)——JavaScript 2019-04-18
2.LeetCode(两数相加)——JavaScript 2019-04-18
1370.LeetCode(上升下降字符串)——JavaScript 2019-04-18
跟我学Spring Cloud(Finchley版)-09-Feign 2019-04-18
如何利用Python动态模拟太阳系运转 2019-04-18
python实现每天自动签到领积分的示例代码 2019-04-18