LAPTOP-SNT8I5JK\Boounion
2025-07-28 bfe14e41fa5b07771d78af4511ba18d706bc23cc
SourceCode/Bond/BoounionPLC/PlcView.h
@@ -1,7 +1,28 @@
#pragma once
#include "CBaseView.h"
#include "BlButton.h"
#include "PLC.h"
// BUTTON控件
#define BTN_MAX         7
#define BTN_RUN         0 // 启动
#define BTN_AUTO      1 // 自动
#define BTN_PUASE      2 // 暂停
#define BTN_MANUAL      3 // 手动
#define BTN_MUTE      4 // 静音
#define BTN_OPR         5 // 复位
#define BTN_STOP      6 // ֹͣ
// 操作类型
enum class OperationType {
   RUN = 0,         // 启动
   AUTO,            // 自动
   PUASE,            // 暂停
   MANUAL,            // 手动
   MUTE,             // 静音
   OPR,            // 复位
   STOP            // ֹͣ
};
class CPlcView :public CBaseView
{
@@ -19,11 +40,21 @@
   void Resize();
private:
   void SetButtonBackgroundColors(CBlButton* btn, bool bOff);
   void HandleOperation(OperationType eOpType);
   void WriteOperationDataToPLC(OperationType eOpType, bool bPressed);
private:
   COLORREF m_crBkgnd;
   HBRUSH m_hbrBkgnd;
   IObserver* m_pObserver;
   CPLC* m_pPlc;
private:
   // 控件
   CBlButton* m_pBlBtns[BTN_MAX];
   COLORREF m_crPlcNameBack;
   HBRUSH m_hbrPlcName;
   // 对话框数据
#ifdef AFX_DESIGN_TIME
@@ -39,5 +70,14 @@
   afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
   afx_msg void OnDestroy();
   afx_msg void OnSize(UINT nType, int cx, int cy);
   afx_msg void OnClose();
   afx_msg void OnBnClickedButtonActivate();
   afx_msg void OnBnClickedButtonAuto();
   afx_msg void OnBnClickedButtonPuase();
   afx_msg void OnBnClickedButtonManualOperation();
   afx_msg void OnBnClickedButtonSoundOff();
   afx_msg void OnBnClickedButtonResetting();
   afx_msg void OnBnClickedButtonStop();
   afx_msg void OnTimer(UINT_PTR nIDEvent);
};