#pragma once #include #include class CJobSlotGrid : public CWnd { DECLARE_DYNAMIC(CJobSlotGrid) public: CJobSlotGrid(); virtual ~CJobSlotGrid(); void SetGridSize(int nRows, int nCols); void SetColors(COLORREF colorHasJob, COLORREF colorNoJob); void SetSlotStatus(int nRow, int nCol, bool bHasJob, BOOL bInvalidate = TRUE); void SetSlotText(int nRow, int nCol, const CString& strText); void SetTextFont(const CString& strFontName, int nPointSize); void ClearAll(); protected: afx_msg void OnPaint(); afx_msg BOOL OnEraseBkgnd(CDC* pDC); DECLARE_MESSAGE_MAP() private: int m_nRows; int m_nCols; CFont m_fontText; COLORREF m_colorHasJob; COLORREF m_colorNoJob; CBrush m_brushHasJob; CBrush m_brushNoJob; std::vector> m_vSlotStatus; std::vector> m_vSlotText; void DrawGrid(CDC* pDC); };