#pragma once #include #include class CHMPropertyPage : public CDialogEx { DECLARE_DYNAMIC(CHMPropertyPage) public: CHMPropertyPage(UINT nID, CWnd* pPage); // 标准构造函数 virtual ~CHMPropertyPage(); // 析构函数 virtual void OnApply(); virtual void OnCreateBtns(); afx_msg void OnDestroy(); std::map& getBtns(); CButton* GetBtnByName(const char* name); void HandleBtnClick(HWND hBtn); protected: // 子类可重写:新增/删除/编辑按钮点击处理 virtual void OnClickedBtn(const char* btnName) {}; protected: CButton* CreateBtn(const char* name, int w, int h, const UINT id); std::map m_btns; int m_btnOrderSeq{ 0 }; DECLARE_MESSAGE_MAP() };