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