xref: /MusicPlayer2/MusicPlayer2/EditStringListDlg.h (revision a87de17200448923cd61634f894b94d41827fa4c)
1 #pragma once
2 #include "BaseDialog.h"
3 #include "EditableListBox.h"
4 
5 // CEditStringListDlg 对话框
6 
7 class CEditStringListDlg : public CBaseDialog
8 {
9     DECLARE_DYNAMIC(CEditStringListDlg)
10 
11 public:
12     CEditStringListDlg(vector<wstring>& items, CWnd* pParent = nullptr);   // 标准构造函数
13     virtual ~CEditStringListDlg();
14 
15     void SetTitle(LPCTSTR title);
16     void SetDlgIcon(IconMgr::IconType icon_type);
17 
18 // 对话框数据
19 #ifdef AFX_DESIGN_TIME
20     enum { IDD = IDD_SELECT_ITEM_DIALOG };
21 #endif
22 
23 private:
24     CEditableListBox m_list_ctrl;
25     CString m_title;
26     vector<wstring>& m_items;
27     IconMgr::IconType m_icon_type{ IconMgr::IconType::IT_NO_ICON };
28 
29 protected:
30     virtual CString GetDialogName() const override;
31     virtual bool InitializeControls() override;
32     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
33 
34     DECLARE_MESSAGE_MAP()
35 public:
36     virtual BOOL OnInitDialog();
37     virtual void OnOK();
38 };
39