QuakeGod
2023-05-19 418cb35b936f21415807a2bcc21b2d75934bd4d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#pragma once
#include "PropSysReg1.h"
#include "PropModeCfg.h"
#include "PropMemCfg.h"
#include "PropCommCfg.h"
#include "PropInputCfg.h"
#include "PropOutputCfg.h"
#include "KDefine.h"
#include "CMyPropPage.h"
 
// CDialogSysRegSet 对话框
//class CPropSysReg1;
class CMTerm1Doc;
class CDialogSysRegSet : public CDialogEx
{
    DECLARE_DYNAMIC(CDialogSysRegSet)
 
public:
    CDialogSysRegSet(CWnd* pParent = nullptr);   // 标准构造函数
    virtual ~CDialogSysRegSet();
    RECT rect0;
    RECT rect1;
    int m_nPropHeight;
    int m_nFrameheight;
    int m_nScrollPos = 0;
 
// 对话框数据
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_DIALOG_SYSREG_SET };
#endif
 
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
    CPropSysReg1 m_propsysreg1;
    CPropModeCfg m_propmodecfg1;
    CPropMemCfg m_propmemcfg1;
 
    CPropCommCfg m_propcommcfg1;
    CPropCommCfg m_propcommcfg2;
    CPropInputCfg m_propinputcfg1;
    CPropInputCfg m_propinputcfg2;
    CPropInputCfg m_propinputcfg3;
    CPropInputCfg m_propinputcfg4;
    CPropOutputCfg m_propoutputcfg1;
    CPropOutputCfg m_propoutputcfg2;
    CPropOutputCfg m_propoutputcfg3;
    CPropOutputCfg m_propoutputcfg4;
    CPropCommCfg m_propcommcfg3;
 
    DECLARE_MESSAGE_MAP()
public:
    unsigned short DeviceType;  // 当前设备类型,按照设备类型生成 proppage
 
    unsigned short m_databuf1[256];
    pKMSysCfg pSysCfg;
    //先知道 syscfg 的大小。
    // 打开窗口后, 在  delayInit中读取 syscfg 内容到 buf1;
    // 按照buf1 中的顺序,对 proppage 窗口进行数值 的地址 设置 ,指针 。
    // proppage 窗口真正打开的时候, 读取数值。
 
    // onOK的时候, 如果有修改,更新数值, 如果没有修改,或者窗口没有显示,不更新数值
 
    // 将整个 buf1 的内容传回。
 
    virtual BOOL OnInitDialog();
    int DelayInit();
    CScrollBar m_prop_scrollbar1;
    afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
    afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
    afx_msg void OnLbnSelchangeListSel1();
    CListBox m_listSel1;
    CMTerm1Doc * GetDocument();
    int m_nTotalProp = 0;
    int m_nCurProp = 0;
    CMyPropPage * m_PropPages[30];
    int PropPageInited[30] = { 0 };
    int PropPageIDD[30] = { 0 };
 
    int AddPropPage(CString sName, CMyPropPage * rDlg, int IDD, void * DataAddr);
    int testXmlParser();
    int LoadDeviceDescriptionFile();
    afx_msg void OnBnClickedButtonReadFromPlc();
    afx_msg void OnTimer(UINT_PTR nIDEvent);
    afx_msg void OnBnClickedButtonWriteToPlc();
    afx_msg void OnBnClickedButtonReadFromPlc2();
};