chenluhua1980
2025-12-26 0275102b79ccf2c7fe1acf11117de8a89cca372f
SourceCode/Bond/Servo/CPanelProduction.h
@@ -1,5 +1,9 @@
#pragma once
#pragma once
#include "BlButton.h"
#include <afxmt.h>
#include "AccordionWnd.h"
#include "ProductionStats.h"
#include "CPageProdOverview.h"
// CPanelProduction dialog
class CPanelProduction : public CDialogEx
@@ -18,11 +22,20 @@
   int m_nPanelWidth;
   CBlButton m_btnClose;
   HWND m_hPlaceholder;
   CAccordionWnd* m_pAccordionWnd;
   // Production shift summary (updated by background thread)
   ProductionShiftSummary m_shiftSummary;
   BOOL m_bShiftSummaryValid;
   CCriticalSection m_csShiftSummary;
   CWinThread* m_pStatsThread;
   CEvent m_evStopStats;
   CPageProdOverview* m_pPageProdOverview;
protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
// 对话框数据
// 对话框数据
#ifdef AFX_DESIGN_TIME
   enum { IDD = IDD_PANEL_PRODUCTION };
#endif
@@ -35,4 +48,14 @@
   afx_msg void OnSize(UINT nType, int cx, int cy);
   afx_msg void OnVLineMoveX(NMHDR* nmhdr, LRESULT* result);
   afx_msg void OnBnClickedButtonClose();
   // Thread-safe snapshot for UI timer display
   BOOL TryGetShiftSummary(ProductionShiftSummary& outSummary);
private:
   static UINT AFX_CDECL StatsThreadProc(LPVOID pParam);
   void StartStatsThread();
   void StopStatsThread();
public:
   afx_msg void OnTimer(UINT_PTR nIDEvent);
};