1 #pragma once 2 #include "BaseDialog.h" 3 #include "CListBoxEnhanced.h" 4 #include "SearchEditCtrl.h" 5 6 7 // CAddToPlaylistDlg 对话框 8 9 class CAddToPlaylistDlg : public CBaseDialog 10 { 11 DECLARE_DYNAMIC(CAddToPlaylistDlg) 12 13 public: 14 CAddToPlaylistDlg(CWnd* pParent = nullptr); // 标准构造函数 15 virtual ~CAddToPlaylistDlg(); 16 17 // 对话框数据 18 #ifdef AFX_DESIGN_TIME 19 enum { IDD = IDD_ADD_TO_PLAYLIST_DIALOG }; 20 #endif 21 22 CString GetPlaylistSelected() const { return m_playlist_selected; } 23 24 protected: 25 CListBoxEnhanced m_playlist_list_ctrl; 26 CString m_playlist_selected; 27 CSearchEditCtrl m_search_edit; 28 bool m_searched{ false }; //是否处于搜索状态 29 std::list<wstring> m_list; //播放列表的列表 30 std::list<wstring> m_search_result; //搜索结果 31 32 protected: 33 virtual CString GetDialogName() const override; 34 virtual bool InitializeControls() override; 35 36 void ShowList(); 37 void QuickSearch(const wstring& key_word); 38 39 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 40 41 DECLARE_MESSAGE_MAP() 42 public: 43 virtual BOOL OnInitDialog(); 44 virtual void OnOK(); 45 afx_msg void OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult); 46 afx_msg void OnEnChangeSearchEdit(); 47 protected: 48 afx_msg LRESULT OnSearchEditBtnClicked(WPARAM wParam, LPARAM lParam); 49 }; 50