chenluhua1980
2026-01-06 4d9d8d22e3666076988c30afb4e7c6fe365c19aa
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,21 @@
   int m_nPanelWidth;
   CBlButton m_btnClose;
   HWND m_hPlaceholder;
   CAccordionWnd* m_pAccordionWnd;
   // Production shift summaries (updated by background thread)
   ProductionShiftSummary m_daySummary;
   ProductionShiftSummary m_nightSummary;
   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 +49,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 snapshots for UI timer display
   BOOL TryGetDayNightSummaries(ProductionShiftSummary& outDay, ProductionShiftSummary& outNight);
private:
   static UINT AFX_CDECL StatsThreadProc(LPVOID pParam);
   void StartStatsThread();
   void StopStatsThread();
public:
   afx_msg void OnTimer(UINT_PTR nIDEvent);
};