1 #pragma once 2 #include "CHotkeyManager.h" 3 #include "TabDlg.h" 4 #include "ListCtrlEx.h" 5 6 7 // CHotKeySettingDlg 对话框 8 9 class CHotKeySettingDlg : public CTabDlg 10 { 11 DECLARE_DYNAMIC(CHotKeySettingDlg) 12 13 public: 14 CHotKeySettingDlg(CWnd* pParent = nullptr); // 标准构造函数 15 virtual ~CHotKeySettingDlg(); 16 17 // 对话框数据 18 #ifdef AFX_DESIGN_TIME 19 enum { IDD = IDD_HOT_KEY_SETTINGS_DIALOG }; 20 #endif 21 22 public: 23 std::map<eHotKeyId, CHotKey> m_hotkey_group; 24 GlobalHotKeySettingData m_data; 25 26 private: 27 CListCtrlEx m_key_list; 28 CButton m_hot_key_enable_check; 29 CButton m_enable_global_multimedia_key_check; 30 int m_item_selected{ -1 }; 31 CToolTipCtrl m_toolTip; 32 33 protected: 34 void ShowKeyList(); 35 void EnableControl(); 36 void ListClicked(); 37 38 virtual bool InitializeControls() override; 39 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 40 41 DECLARE_MESSAGE_MAP() 42 public: 43 virtual BOOL OnInitDialog(); 44 CHotKeyCtrl m_hot_key_ctrl; 45 afx_msg void OnBnClickedSetButton(); 46 afx_msg void OnNMClickHotKeyList(NMHDR *pNMHDR, LRESULT *pResult); 47 afx_msg void OnNMRClickHotKeyList(NMHDR *pNMHDR, LRESULT *pResult); 48 afx_msg void OnBnClickedHotKeyEnableCheck(); 49 afx_msg void OnBnClickedEnableGlobalMultimediaKeyCheck(); 50 virtual BOOL PreTranslateMessage(MSG* pMsg); 51 }; 52