#pragma once #include #include "CHMPropertyPage.h" // CEquipmentDlg 对话框 class CHMPropertyDlg : public CDialogEx { DECLARE_DYNAMIC(CHMPropertyDlg) public: CHMPropertyDlg(CWnd* pParent = nullptr); // 标准构造函数 CHMPropertyDlg(const char* pszTitle, int width, int height); virtual ~CHMPropertyDlg(); public: void addPage(CHMPropertyPage* pPage, const char* pszName); void ShowChildPage(unsigned int index); void SetWindowSize(int width, int height); private: void Resize(); private: COLORREF m_crBkgnd; HBRUSH m_hbrBkgnd; CString m_strTitle; std::vector m_pages; int m_nWndWidth; int m_nWndHeight; // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_DIALOG_PROPERTY }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() public: 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 OnTabSelChanged(NMHDR* nmhdr, LRESULT* result); afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedButtonApply(); };