xref: /MusicPlayer2/MusicPlayer2/FindDlg.h (revision f5eefe2f8129ae3d40f6050d06ebba2847e09b6f)
1*f5eefe2fSzhongyang219 #pragma once
2*f5eefe2fSzhongyang219 #include "afxcmn.h"
3*f5eefe2fSzhongyang219 #include "AudioCommon.h"
4*f5eefe2fSzhongyang219 #include "afxwin.h"
5*f5eefe2fSzhongyang219 //#include "ListCtrlEx.h"
6*f5eefe2fSzhongyang219 #include "Common.h"
7*f5eefe2fSzhongyang219 
8*f5eefe2fSzhongyang219 
9*f5eefe2fSzhongyang219 // CFindDlg �Ի���
10*f5eefe2fSzhongyang219 
11*f5eefe2fSzhongyang219 class CFindDlg : public CDialogEx
12*f5eefe2fSzhongyang219 {
13*f5eefe2fSzhongyang219 	DECLARE_DYNAMIC(CFindDlg)
14*f5eefe2fSzhongyang219 
15*f5eefe2fSzhongyang219 public:
16*f5eefe2fSzhongyang219 	CFindDlg(const vector<SongInfo>& playlist, vector<int>& find_result, CWnd* pParent = NULL);   // ��׼���캯��
17*f5eefe2fSzhongyang219 	virtual ~CFindDlg();
18*f5eefe2fSzhongyang219 
19*f5eefe2fSzhongyang219 	//wstring m_config_path;
20*f5eefe2fSzhongyang219 
21*f5eefe2fSzhongyang219 	int GetSelectedTrack() const;
22*f5eefe2fSzhongyang219 	void SaveConfig();
23*f5eefe2fSzhongyang219 	void LoadConfig();
24*f5eefe2fSzhongyang219 
25*f5eefe2fSzhongyang219 // �Ի�������
26*f5eefe2fSzhongyang219 #ifdef AFX_DESIGN_TIME
27*f5eefe2fSzhongyang219 	enum { IDD = IDD_FIND_DIALOG };
28*f5eefe2fSzhongyang219 #endif
29*f5eefe2fSzhongyang219 
30*f5eefe2fSzhongyang219 protected:
31*f5eefe2fSzhongyang219 
32*f5eefe2fSzhongyang219 	const vector<SongInfo>& m_playlist;		//�����б�
33*f5eefe2fSzhongyang219 	vector<int>& m_find_result;			//����IJ��ҽ������Ŀ��ţ�
34*f5eefe2fSzhongyang219 	wstring m_key_word;				//���ҵ��ַ���
35*f5eefe2fSzhongyang219 
36*f5eefe2fSzhongyang219 	CListCtrl m_find_result_list;		//���ҽ���ؼ�
37*f5eefe2fSzhongyang219 	int m_item_selected{ -1 };		//���ѡ�е���Ŀ���
38*f5eefe2fSzhongyang219 
39*f5eefe2fSzhongyang219 	//int m_dpi;
40*f5eefe2fSzhongyang219 
41*f5eefe2fSzhongyang219 	CButton m_find_file_check;
42*f5eefe2fSzhongyang219 	CButton m_find_title_check;
43*f5eefe2fSzhongyang219 	CButton m_find_artist_check;
44*f5eefe2fSzhongyang219 	CButton m_find_album_check;
45*f5eefe2fSzhongyang219 
46*f5eefe2fSzhongyang219 	bool m_find_file{ true };
47*f5eefe2fSzhongyang219 	bool m_find_title{ true };
48*f5eefe2fSzhongyang219 	bool m_find_artist{ true };
49*f5eefe2fSzhongyang219 	bool m_find_album{ true };
50*f5eefe2fSzhongyang219 
51*f5eefe2fSzhongyang219 	int m_find_option_data{};		//�������ѡ������ݣ���ÿһ��bitλ��ʾÿ������ѡ���Ƿ�ѡ��
52*f5eefe2fSzhongyang219 
53*f5eefe2fSzhongyang219 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV ֧��
54*f5eefe2fSzhongyang219 	void ShowFindResult();
55*f5eefe2fSzhongyang219 
56*f5eefe2fSzhongyang219 	DECLARE_MESSAGE_MAP()
57*f5eefe2fSzhongyang219 
58*f5eefe2fSzhongyang219 	afx_msg void OnEnChangeFindEdit();
59*f5eefe2fSzhongyang219 	afx_msg void OnNMClickFindList(NMHDR *pNMHDR, LRESULT *pResult);
60*f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindButton();
61*f5eefe2fSzhongyang219 	virtual BOOL OnInitDialog();
62*f5eefe2fSzhongyang219 	afx_msg void OnNMDblclkFindList(NMHDR *pNMHDR, LRESULT *pResult);
63*f5eefe2fSzhongyang219 	virtual BOOL PreTranslateMessage(MSG* pMsg);
64*f5eefe2fSzhongyang219 public:
65*f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindFileCheck();
66*f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindTitleCheck();
67*f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindArtistCheck();
68*f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindAlbumCheck();
69*f5eefe2fSzhongyang219 };
70