| | |
| | | m_nTotalPages = 1; |
| | | m_nRowsPerPage = 16; |
| | | m_nCols = 6; |
| | | |
| | | CPLC* pPLC = theApp.m_model.getCurrentPlc(); |
| | | if (pPLC != nullptr) { |
| | | m_pPLC = pPLC; |
| | | |
| | | // 加载数据 |
| | | IOManager manager; |
| | | manager.LoadFromFile(pPLC->getName()); |
| | | manager.GetMachineData(m_displayData); |
| | | |
| | | // 计算页数 |
| | | m_nCurrentPage = 1; |
| | | m_nTotalPages = ((int)m_displayData.size() + m_nRowsPerPage - 1) / m_nRowsPerPage; |
| | | } else { |
| | | m_pPLC = nullptr; |
| | | } |
| | | } |
| | | |
| | | CIOMonitoringDlg::~CIOMonitoringDlg() |
| | |
| | | { |
| | | CDialogEx::DoDataExchange(pDX); |
| | | DDX_Control(pDX, IDC_STATIC_PAGE_NUMBER, m_staticPageNum); |
| | | } |
| | | |
| | | void CIOMonitoringDlg::SetIOManager(const std::string& machineName) |
| | | { |
| | | // 加载数据 |
| | | IOManager manager; |
| | | manager.LoadFromFile(machineName); |
| | | manager.GetMachineData(m_displayData); |
| | | |
| | | // 计算页数 |
| | | m_nCurrentPage = 1; |
| | | m_nTotalPages = ((int)m_displayData.size() + m_nRowsPerPage - 1) / m_nRowsPerPage; |
| | | } |
| | | |
| | | void CIOMonitoringDlg::SetPLC(CPLC* pPLC) |
| | | { |
| | | ASSERT(pPLC); |
| | | m_pPLC = pPLC; |
| | | } |
| | | |
| | | CFont* CIOMonitoringDlg::GetOrCreateFont(int nFontSize) |
| | |
| | | CDialogEx::OnInitDialog(); |
| | | |
| | | // TODO: 在此添加额外的初始化 |
| | | if (m_pPLC == nullptr || !m_pPLC->isConnected()) { |
| | | AfxMessageBox(_T("PLC 未连接!")); |
| | | return FALSE; |
| | | } |
| | | |
| | | CString strTitle; |
| | | strTitle.Format(_T("IO监控页面(PLC: %s)"), m_pPLC->getName().c_str()); |
| | | SetWindowText(strTitle); |
| | | |
| | | CRect screenRect, dlgRect, clientRect; |
| | | SystemParametersInfo(SPI_GETWORKAREA, 0, &screenRect, 0); |
| | | |