| | |
| | | |
| | | CPageLinkSignal::CPageLinkSignal(CWnd* pParent /*=nullptr*/) |
| | | : CHMPropertyPage(IDD_PAGE_LINK_SIGNAL, pParent) |
| | | , m_bEnable(TRUE) |
| | | { |
| | | m_pEquipment = nullptr; |
| | | } |
| | |
| | | void CPageLinkSignal::DoDataExchange(CDataExchange* pDX) |
| | | { |
| | | CHMPropertyPage::DoDataExchange(pDX); |
| | | DDX_Check(pDX, IDC_CHECK_ENABLE, m_bEnable); |
| | | } |
| | | |
| | | |
| | |
| | | ON_WM_DESTROY() |
| | | ON_WM_SIZE() |
| | | ON_WM_TIMER() |
| | | ON_BN_CLICKED(IDC_CHECK_ENABLE, &CPageLinkSignal::OnClickedCheckEnable) |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | |
| | | |
| | | KillTimer(TIMER_ID_SIGNAL_UPDATE); |
| | | SetTimer(TIMER_ID_SIGNAL_UPDATE, TIMER_INTERVAL_MS, nullptr); |
| | | |
| | | |
| | | if (m_pEquipment) { |
| | | m_bEnable = m_pEquipment->IsEnabled(); |
| | | UpdateData(FALSE); |
| | | } |
| | | |
| | | return TRUE; // return TRUE unless you set the focus to a control |
| | | // 异常: OCX 属性页应返回 FALSE |
| | |
| | | BTN_Y - 36, |
| | | rcItem.Width(), rcItem.Height()); |
| | | } |
| | | |
| | | pItem = GetDlgItem(IDC_CHECK_ENABLE); |
| | | if (pItem) { |
| | | int nCheckboxX = max(0, BTN_X - 50); |
| | | int nCheckboxY = max(0, BTN_Y - rcItem.Height() - 30); |
| | | pItem->GetWindowRect(&rcItem); |
| | | pItem->MoveWindow(nCheckboxX, nCheckboxY, rcItem.Width(), rcItem.Height()); |
| | | } |
| | | } |
| | | |
| | | void CPageLinkSignal::OnTimer(UINT_PTR nIDEvent) |
| | |
| | | |
| | | for (int nRow = 0; nRow < 8; ++nRow) { |
| | | for (int nCol = 0; nCol < 8; ++nCol) { |
| | | BOOL bCurrentState = m_pEquipment->isLinkSignalUpstreamOn(nRow, nCol); |
| | | BOOL bCurrentState = m_pEquipment->isLinkSignalUpstreamOn(nRow, nCol) && m_pEquipment->IsEnabled(); |
| | | UpdateSignalState(nRow, nCol, bCurrentState); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | void CPageLinkSignal::OnClickedCheckEnable() |
| | | { |
| | | // TODO: 在此添加控件通知处理程序代码 |
| | | UpdateData(TRUE); |
| | | m_pEquipment->SetEnable(m_bEnable); |
| | | } |