#pragma once #include "afxdialogex.h" #include "GridCtrl.h" // CSystemLogManagerDlg 对话框 class CSystemLogManagerDlg : public CDialogEx { DECLARE_DYNAMIC(CSystemLogManagerDlg) public: CSystemLogManagerDlg(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CSystemLogManagerDlg(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_SYSTEM_LOG_MANAGER }; #endif private: void InitSystemLogManager(); void FillSystemLogManager(); CFont* GetOrCreateFont(int nFontSize); void UpdatePageInfo(); void SetDefaultFont(); void AdjustControls(float dScaleX, float dScaleY); void AdjustControlFont(CWnd* pWnd, int nWidth, int nHeight); void AdjustComboBoxStyle(CComboBox& comboBox); void AdjustDateTimeCtrlStyle(CDateTimeCtrl& dateTimeCtrl); private: int m_nInitialWidth; // 初始宽度 int m_nInitialHeight; // 初始高度 int m_nCurrentPage; // 当前页码 int m_nTotalPages; // 总页数 std::map m_mapCtrlLayouts; // 存储控件的初始布局信息 std::map m_mapFonts; // 管理字体的容器,键为字体大小 private: CComboBox m_comboType; CComboBox m_comboUser; CDateTimeCtrl m_dateTimeStart; CDateTimeCtrl m_dateTimeEnd; CEdit m_editDescription; CGridCtrl m_listLogs; CStatic m_staticPageNum; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI); afx_msg void OnBnClickedButtonSearch(); afx_msg void OnBnClickedButtonPrevPage(); afx_msg void OnBnClickedButtonNextPage(); afx_msg void OnSelchangeComboType(); afx_msg void OnSelchangeComboUser(); };