xref: /MusicPlayer2/MusicPlayer2/PlaySettingsDlg.h (revision 3cbe69b48d1fd401d1871018becae882cc111dd1)
1 #pragma once
2 #include "TabDlg.h"
3 #include "ListCtrlEx.h"
4 #include "MyComboBox.h"
5 #include "SpinEdit.h"
6 #include "BrowseEdit.h"
7 
8 // CPlaySettingsDlg 对话框
9 
10 class CPlaySettingsDlg : public CTabDlg
11 {
12     DECLARE_DYNAMIC(CPlaySettingsDlg)
13 
14 public:
15     CPlaySettingsDlg(CWnd* pParent = nullptr);   // 标准构造函数
16     virtual ~CPlaySettingsDlg();
17 
18     PlaySettingData m_data;
19 
20 // 对话框数据
21 #ifdef AFX_DESIGN_TIME
22     enum { IDD = IDD_PLAY_SETTING_DIALOG };
23 #endif
24 protected:
25     //控件变量
26     CMyComboBox m_output_device_combo;
27     CListCtrlEx m_device_info_list;
28     CSpinEdit m_ffmpeg_cache_length;
29     CSpinEdit m_ffmpeg_max_retry_count;
30     CSpinEdit m_ffmpeg_url_retry_interval;
31     CToolTipCtrl m_toolTip;
32     CSpinEdit m_ffmpeg_max_wait_time;
33     CBrowseEdit m_sf2_path_edit;
34 
35 protected:
36     void ShowDeviceInfo();
37     void EnableControl();
38 
39     virtual void GetDataFromUi() override;
40     virtual void ApplyDataToUi() override;
41     virtual bool InitializeControls() override;
42     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
43 
44     DECLARE_MESSAGE_MAP()
45 public:
46     virtual BOOL OnInitDialog();
47     afx_msg void OnCbnSelchangeOutputDeviceCombo();
48     virtual BOOL PreTranslateMessage(MSG* pMsg);
49     afx_msg void OnNMClickFfmpegDownSyslink(NMHDR* pNMHDR, LRESULT* pResult);
50     afx_msg void OnBnClickedFfmpegEnableWasapi();
51     afx_msg void OnBnClickedMidiUseInnerLyricCheck();
52     afx_msg void OnEnChangeSf2PathEdit();
53 protected:
54     afx_msg LRESULT OnEditBrowseChanged(WPARAM wParam, LPARAM lParam);
55 };
56