xref: /MusicPlayer2/MusicPlayer2/FindDlg.h (revision 1a0bed10853d0cf0a7922aa6d13f2dee8998fcca)
1f5eefe2fSzhongyang219 #pragma once
2f5eefe2fSzhongyang219 #include "afxcmn.h"
3f5eefe2fSzhongyang219 #include "AudioCommon.h"
4f5eefe2fSzhongyang219 #include "afxwin.h"
5f5eefe2fSzhongyang219 //#include "ListCtrlEx.h"
6f5eefe2fSzhongyang219 #include "Common.h"
7f5eefe2fSzhongyang219 
8f5eefe2fSzhongyang219 
9f5eefe2fSzhongyang219 // CFindDlg �Ի���
10f5eefe2fSzhongyang219 
11*1a0bed10Szhongyang219 class CFindDlg : public CDialog
12f5eefe2fSzhongyang219 {
13f5eefe2fSzhongyang219 	DECLARE_DYNAMIC(CFindDlg)
14f5eefe2fSzhongyang219 
15f5eefe2fSzhongyang219 public:
16*1a0bed10Szhongyang219 	CFindDlg(const vector<SongInfo>& playlist, CWnd* pParent = NULL);   // ��׼���캯��
17f5eefe2fSzhongyang219 	virtual ~CFindDlg();
18f5eefe2fSzhongyang219 
19f5eefe2fSzhongyang219 	//wstring m_config_path;
20f5eefe2fSzhongyang219 
21f5eefe2fSzhongyang219 	int GetSelectedTrack() const;
22*1a0bed10Szhongyang219 	bool GetFindCurrentPlaylist() const;
23*1a0bed10Szhongyang219 	wstring GetSelectedSongPath() const;
24f5eefe2fSzhongyang219 	void SaveConfig();
25f5eefe2fSzhongyang219 	void LoadConfig();
26f5eefe2fSzhongyang219 
27f5eefe2fSzhongyang219 // �Ի�������
28f5eefe2fSzhongyang219 #ifdef AFX_DESIGN_TIME
29f5eefe2fSzhongyang219 	enum { IDD = IDD_FIND_DIALOG };
30f5eefe2fSzhongyang219 #endif
31f5eefe2fSzhongyang219 
32f5eefe2fSzhongyang219 protected:
33f5eefe2fSzhongyang219 
34f5eefe2fSzhongyang219 	const vector<SongInfo>& m_playlist;		//�����б�
35*1a0bed10Szhongyang219 	vector<int> m_find_result;			//���浱ǰ�����б�IJ��ҽ������Ŀ��ţ�
36f5eefe2fSzhongyang219 	wstring m_key_word;				//���ҵ��ַ���
37*1a0bed10Szhongyang219 	vector<wstring> m_all_find_result;		//�������в����б�IJ��ҽ�����ļ�����·����
38f5eefe2fSzhongyang219 
39f5eefe2fSzhongyang219 	CListCtrl m_find_result_list;		//���ҽ���ؼ�
40f5eefe2fSzhongyang219 	int m_item_selected{ -1 };		//���ѡ�е���Ŀ���
41*1a0bed10Szhongyang219 	CMenu m_menu;
42f5eefe2fSzhongyang219 
43f5eefe2fSzhongyang219 	//int m_dpi;
44f5eefe2fSzhongyang219 
45f5eefe2fSzhongyang219 	CButton m_find_file_check;
46f5eefe2fSzhongyang219 	CButton m_find_title_check;
47f5eefe2fSzhongyang219 	CButton m_find_artist_check;
48f5eefe2fSzhongyang219 	CButton m_find_album_check;
49f5eefe2fSzhongyang219 
50*1a0bed10Szhongyang219 	bool m_find_current_playlist{ true };		//������ҷ�ΧΪ��ǰ�����б���Ϊtrue����������в����б���Ϊfalse
51f5eefe2fSzhongyang219 	bool m_find_file{ true };
52f5eefe2fSzhongyang219 	bool m_find_title{ true };
53f5eefe2fSzhongyang219 	bool m_find_artist{ true };
54f5eefe2fSzhongyang219 	bool m_find_album{ true };
55f5eefe2fSzhongyang219 
56f5eefe2fSzhongyang219 	int m_find_option_data{};		//�������ѡ������ݣ���ÿһ��bitλ��ʾÿ������ѡ���Ƿ�ѡ��
57f5eefe2fSzhongyang219 
58*1a0bed10Szhongyang219 	int m_min_width{};
59*1a0bed10Szhongyang219 	int m_min_height{};
60*1a0bed10Szhongyang219 
61*1a0bed10Szhongyang219 	CString m_selected_string;
62*1a0bed10Szhongyang219 
63f5eefe2fSzhongyang219 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV ֧��
64f5eefe2fSzhongyang219 	void ShowFindResult();
65*1a0bed10Szhongyang219 	void ShowFindInfo();
66*1a0bed10Szhongyang219 public:
67*1a0bed10Szhongyang219 	void ClearFindResult();
68f5eefe2fSzhongyang219 
69f5eefe2fSzhongyang219 	DECLARE_MESSAGE_MAP()
70f5eefe2fSzhongyang219 
71f5eefe2fSzhongyang219 	afx_msg void OnEnChangeFindEdit();
72f5eefe2fSzhongyang219 	afx_msg void OnNMClickFindList(NMHDR *pNMHDR, LRESULT *pResult);
73f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindButton();
74f5eefe2fSzhongyang219 	virtual BOOL OnInitDialog();
75f5eefe2fSzhongyang219 	afx_msg void OnNMDblclkFindList(NMHDR *pNMHDR, LRESULT *pResult);
76f5eefe2fSzhongyang219 	virtual BOOL PreTranslateMessage(MSG* pMsg);
77f5eefe2fSzhongyang219 public:
78f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindFileCheck();
79f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindTitleCheck();
80f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindArtistCheck();
81f5eefe2fSzhongyang219 	afx_msg void OnBnClickedFindAlbumCheck();
82*1a0bed10Szhongyang219 	afx_msg void OnBnClickedFindCurrentPlaylistRadio();
83*1a0bed10Szhongyang219 	afx_msg void OnBnClickedFindAllPlaylistRadio();
84*1a0bed10Szhongyang219 	afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
85*1a0bed10Szhongyang219 	afx_msg void OnSize(UINT nType, int cx, int cy);
86*1a0bed10Szhongyang219 	afx_msg void OnFdPlay();
87*1a0bed10Szhongyang219 	afx_msg void OnFdOpenFileLocation();
88*1a0bed10Szhongyang219 	afx_msg void OnNMRClickFindList(NMHDR *pNMHDR, LRESULT *pResult);
89*1a0bed10Szhongyang219 	afx_msg void OnFdCopyText();
90f5eefe2fSzhongyang219 };
91