xref: /MusicPlayer2/MusicPlayer2/CHotKeySettingDlg.h (revision 86e2c9c227ea58a4f87dda2d9ffa8cbe422b3071)
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