xref: /MusicPlayer2/MusicPlayer2/MP3EncodeCfgDlg.h (revision 6ff78c2af22a2540d4da0cd487a360b3fffc6e91)
1 #pragma once
2 #include "BaseDialog.h"
3 #include "IPlayerCore.h"
4 
5 // CMP3EncodeCfgDlg 对话框
6 
7 class CMP3EncodeCfgDlg : public CBaseDialog
8 {
9     DECLARE_DYNAMIC(CMP3EncodeCfgDlg)
10 
11 public:
12     CMP3EncodeCfgDlg(CWnd* pParent = nullptr);   // 标准构造函数
13     virtual ~CMP3EncodeCfgDlg();
14 
15 // 对话框数据
16 #ifdef AFX_DESIGN_TIME
17     enum { IDD = IDD_MP3_ENCODE_CFG_DIALOG };
18 #endif
19 
20     MP3EncodePara m_encode_para;
21 
22     static void EncodeParaToCmdline(MP3EncodePara& para);
23 
24 protected:
25     void SetControlState();
26 
27     //控制变量
28     CComboBox m_cbr_rate_combo;
29     CComboBox m_abr_rate_combo;
30     CSliderCtrl m_vbr_qua_sld;
31     CEdit m_encode_cmdline_edit;
32 
33     vector<std::pair<wstring, int>> m_bitrate_list;
34 
35 protected:
36     virtual CString GetDialogName() const override;
IsRememberDialogSizeEnable()37     virtual bool IsRememberDialogSizeEnable() const override { return false; };
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     afx_msg void OnCbnSelchangeCbrRateCombo();
45     afx_msg void OnCbnSelchangeAbrRateCombo();
46     afx_msg void OnBnClickedCbrRadio();
47     afx_msg void OnBnClickedAbrRadio();
48     afx_msg void OnBnClickedVbrRadio();
49     afx_msg void OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult);
50     afx_msg void OnBnClickedJointStereoCheck();
51     afx_msg void OnBnClickedUserRadio();
52     virtual void OnOK();
53 };
54