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