#pragma once #include "ListCtrlEx.h" // CPageGlassList 对话框 class CPageGlassList : public CDialogEx { DECLARE_DYNAMIC(CPageGlassList) public: CPageGlassList(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CPageGlassList(); private: COLORREF m_crBkgnd; HBRUSH m_hbrBkgnd; IObserver* m_pObserver; // 搜索关键字 std::string m_strStatus; std::string m_strKeyword; // 页码 int m_nCurPage; int m_nTotalPages; // 日期 char m_szTimeStart[64]; char m_szTimeEnd[64]; // 控件 CDateTimeCtrl m_dateTimeStart; CDateTimeCtrl m_dateTimeEnd; CListCtrlEx m_listCtrl; private: void InitRxWindow(); void Resize(); void InitStatusCombo(); void InitTimeRangeCombo(); void InitDateTimeControls(); void LoadTransfers(); void UpdatePageData(); void UpdatePageControls(); void UpdateDateFilter(); /* void FillDataToListCtrl(const std::vector& vecData); void InsertTransferData(const TransferData& data); */ // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_PAGE_GLASS_LIST }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); 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 OnTimer(UINT_PTR nIDEvent); afx_msg void OnCbnSelchangeComboDatetime(); afx_msg void OnCbnSelchangeComboStatusFilter(); afx_msg void OnBnClickedButtonSearch(); afx_msg void OnBnClickedButtonExport(); afx_msg void OnBnClickedButtonPrevPage(); afx_msg void OnBnClickedButtonNextPage(); DECLARE_MESSAGE_MAP() };