#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(); };