#pragma once #include "afxdialogex.h" // CAddPLCInfo 对话框 class CAddPLCInfo : public CDialogEx { DECLARE_DYNAMIC(CAddPLCInfo) public: CAddPLCInfo(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CAddPLCInfo(); // 获取plc名称\ip\端口 CString GetPLCName(); CString GetIP(); CString GetPort(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_ADD_PLC_INFO }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 afx_msg void OnBnClickedOk(); DECLARE_MESSAGE_MAP() private: bool IsValidPort(const CString& strPort); bool IsValidIPAddress(const CString& strIP1, const CString& strIP2, const CString& strIP3, const CString& strIP4); bool IsValidIPSegment(const CString& strSegment); // 数据 CString m_strPLCName; CString m_strIP; CString m_strPort; // 控件 CEdit m_editPLCName; CEdit m_editPort; };