xref: /MusicPlayer2/MusicPlayer2/EqualizerDlg.h (revision 6ff78c2af22a2540d4da0cd487a360b3fffc6e91)
1 #pragma once
2 #include "TabDlg.h"
3 #include "CListBoxEnhanced.h"
4 
5 
6 // CEqualizerDlg 对话框
7 
8 class CEqualizerDlg : public CTabDlg
9 {
10     DECLARE_DYNAMIC(CEqualizerDlg)
11 
12 public:
13     CEqualizerDlg(CWnd* pParent = NULL);   // 标准构造函数
14     virtual ~CEqualizerDlg();
15 
16 // 对话框数据
17 #ifdef AFX_DESIGN_TIME
18     enum { IDD = IDD_EQUALIZER_DIALOG };
19 #endif
20 
21 protected:
22     int m_user_defined_gain[EQU_CH_NUM]{};              //用户自定义的均衡器设置
23 
24     CSliderCtrl m_sliders[EQU_CH_NUM];
25     CListBoxEnhanced m_equ_style_list;
26     CToolTipCtrl m_Mytip;                               //鼠标提示
27     int m_equ_style_selected{};                         //选中的均衡器预设
28 
29     void EnableControls(bool enable);                   //启用或禁用控件
30     void SaveConfig() const;
31     void LoadConfig();
32     void UpdateChannelTip(int channel, int gain);       //更新通道滑动条的鼠标提示
33 
34     virtual bool InitializeControls() override;
35     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
36 
37     DECLARE_MESSAGE_MAP()
38 protected:
39     virtual BOOL OnInitDialog();
40     afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
41     virtual BOOL PreTranslateMessage(MSG* pMsg);
42     afx_msg void OnBnClickedEnableEquCheck();
43     afx_msg LRESULT OnListboxSelChanged(WPARAM wParam, LPARAM lParam);
44     afx_msg void OnDestroy();
45 };
46