xref: /MusicPlayer2/MusicPlayer2/AddToPlaylistDlg.h (revision 965ce478a79b0d21e8a6e2ade0490efa175855dd)
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 
GetPlaylistSelected()22     wstring GetPlaylistSelected() const { return m_playlist_selected; }
23 
24 protected:
25     CListBoxEnhanced m_playlist_list_ctrl;
26     wstring m_playlist_selected;
27     CSearchEditCtrl m_search_edit;
28     vector<wstring> m_list;             //播放列表的列表
29     vector<wstring> m_search_result;    //搜索结果
30     bool m_searched{ false };           //是否处于搜索状态
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