mrDarker
6 天以前 829fe6c6bc33d53fda9c31fd45a37e1df87befff
SourceCode/Bond/Servo/CPanelProduction.h
@@ -1,5 +1,10 @@
#pragma once
#pragma once
#include "BlButton.h"
#include <afxmt.h>
#include "AccordionWnd.h"
#include "ProductionStats.h"
#include "CPageProdOverview.h"
#include "CPageCtrlState.h"
// CPanelProduction dialog
class CPanelProduction : public CDialogEx
@@ -18,11 +23,22 @@
   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;
   CPageCtrlState* m_pPageCtrlState;
protected:
   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
// 对话框数据
// 对话框数据
#ifdef AFX_DESIGN_TIME
   enum { IDD = IDD_PANEL_PRODUCTION };
#endif
@@ -35,4 +51,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);
};