1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#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<int, CRect> m_mapCtrlLayouts;    // 存储控件的初始布局信息
    std::map<int, CFont*> 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();
};