diff --git a/MusicPlayer2/CFloatPlaylistDlg.cpp b/MusicPlayer2/CFloatPlaylistDlg.cpp index e23e22c5..4b8da488 100644 --- a/MusicPlayer2/CFloatPlaylistDlg.cpp +++ b/MusicPlayer2/CFloatPlaylistDlg.cpp @@ -115,6 +115,12 @@ void CFloatPlaylistDlg::GetPlaylistItemSelected() } +void CFloatPlaylistDlg::SetDragEnable() +{ + bool enable = CPlayer::GetInstance().IsPlaylistMode() && !m_searched; //处于播放列表模å¼�且ä¸�处ç�†æ�œç´¢çжæ€�æ—¶æ‰�å…�许拖动排åº� + m_playlist_ctrl.SetDragEnable(enable); +} + bool CFloatPlaylistDlg::Initilized() const { return m_playlist_ctrl.GetSafeHwnd() != NULL && m_path_static.GetSafeHwnd() != NULL && m_path_edit.GetSafeHwnd() != NULL @@ -174,7 +180,7 @@ BOOL CFloatPlaylistDlg::OnInitDialog() else m_path_static.SetWindowText(CCommon::LoadText(IDS_CURRENT_FOLDER, _T(":"))); - m_playlist_ctrl.SetDragEnable(CPlayer::GetInstance().IsPlaylistMode()); + SetDragEnable(); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE @@ -265,6 +271,7 @@ void CFloatPlaylistDlg::OnEnChangeSearchEdit() m_searched = (key_word.GetLength() != 0); m_playlist_ctrl.QuickSearch(wstring(key_word)); m_playlist_ctrl.ShowPlaylist(theApp.m_ui_data.display_format, m_searched); + SetDragEnable(); } void CFloatPlaylistDlg::OnBnClickedClearSearchButton() diff --git a/MusicPlayer2/CFloatPlaylistDlg.h b/MusicPlayer2/CFloatPlaylistDlg.h index 766262af..6065448c 100644 --- a/MusicPlayer2/CFloatPlaylistDlg.h +++ b/MusicPlayer2/CFloatPlaylistDlg.h @@ -27,6 +27,7 @@ public: CStaticEx& GetPathStatic(); CEdit& GetPathEdit(); void GetPlaylistItemSelected(); + void SetDragEnable(); private: CPlayListCtrl m_playlist_ctrl{ CPlayer::GetInstance().GetPlayList() }; @@ -38,7 +39,7 @@ private: SLayoutData m_layout; //窗å�£å¸ƒå±€çš„固定数æ�® - bool m_searched; //播放列表是å�¦å¤„于æ�œç´¢çжæ€� + bool m_searched{ false }; //播放列表是å�¦å¤„于æ�œç´¢çжæ€� int& m_item_selected; //播放列表中鼠标选中的项目 vector& m_items_selected; diff --git a/MusicPlayer2/MiniModeDlg.cpp b/MusicPlayer2/MiniModeDlg.cpp index c4a137d7..b05134e0 100644 --- a/MusicPlayer2/MiniModeDlg.cpp +++ b/MusicPlayer2/MiniModeDlg.cpp @@ -123,6 +123,7 @@ BEGIN_MESSAGE_MAP(CMiniModeDlg, CDialogEx) ON_WM_MOUSELEAVE() ON_WM_SETCURSOR() ON_COMMAND(ID_MINI_MIDE_MINIMIZE, &CMiniModeDlg::OnMiniMideMinimize) + ON_MESSAGE(WM_LIST_ITEM_DRAGGED, &CMiniModeDlg::OnListItemDragged) END_MESSAGE_MAP() @@ -285,6 +286,11 @@ void CMiniModeDlg::SetTransparency() CCommon::SetWindowOpacity(m_hWnd, theApp.m_app_setting_data.window_transparency); } +void CMiniModeDlg::SetDragEnable() +{ + m_playlist_ctrl.SetDragEnable(CPlayer::GetInstance().IsPlaylistMode()); +} + BOOL CMiniModeDlg::PreTranslateMessage(MSG* pMsg) { // TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà @@ -509,7 +515,7 @@ void CMiniModeDlg::OnNMRClickList2(NMHDR *pNMHDR, LRESULT *pResult) m_item_selected = pNMItemActivate->iItem; //»ñÈ¡Êó±êÑ¡ÖеÄÏîÄ¿ m_playlist_ctrl.GetItemSelected(m_items_selected); - CMenu* pContextMenu = theApp.m_menu_set.m_popup_menu.GetSubMenu(0); //»ñÈ¡µÚÒ»¸öµ¯³ö²Ëµ¥ + CMenu* pContextMenu = theApp.m_menu_set.m_list_popup_menu.GetSubMenu(0); //»ñÈ¡µÚÒ»¸öµ¯³ö²Ëµ¥ CPoint point; //¶¨ÒåÒ»¸öÓÃÓÚÈ·¶¨¹â±êλÖõÄλÖà GetCursorPos(&point); //»ñÈ¡µ±Ç°¹â±êµÄλÖã¬ÒÔ±ãʹµÃ²Ëµ¥¿ÉÒÔ¸úËæ¹â±ê @@ -596,3 +602,9 @@ void CMiniModeDlg::OnMiniMideMinimize() // TODO: ÔÚ´ËÌí¼ÓÃüÁî´¦Àí³ÌÐò´úÂë ShowWindow(HIDE_WINDOW); } + + +afx_msg LRESULT CMiniModeDlg::OnListItemDragged(WPARAM wParam, LPARAM lParam) +{ + return 0; +} diff --git a/MusicPlayer2/MiniModeDlg.h b/MusicPlayer2/MiniModeDlg.h index 900dfd22..7d3593e4 100644 --- a/MusicPlayer2/MiniModeDlg.h +++ b/MusicPlayer2/MiniModeDlg.h @@ -33,6 +33,8 @@ public: void SetVolume(bool up); // void SetTransparency(); + void SetDragEnable(); + protected: int m_position_x; @@ -95,4 +97,6 @@ public: afx_msg void OnMouseLeave(); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnMiniMideMinimize(); +protected: + afx_msg LRESULT OnListItemDragged(WPARAM wParam, LPARAM lParam); }; diff --git a/MusicPlayer2/MusicPlayer2.rc b/MusicPlayer2/MusicPlayer2.rc index e715621f..0d6654ab 100644 Binary files a/MusicPlayer2/MusicPlayer2.rc and b/MusicPlayer2/MusicPlayer2.rc differ diff --git a/MusicPlayer2/MusicPlayerDlg.cpp b/MusicPlayer2/MusicPlayerDlg.cpp index 42a95582..b7249ed1 100644 --- a/MusicPlayer2/MusicPlayerDlg.cpp +++ b/MusicPlayer2/MusicPlayerDlg.cpp @@ -981,8 +981,11 @@ void CMusicPlayerDlg::SetPlaylistDragEnable() { bool enable = CPlayer::GetInstance().IsPlaylistMode() && !m_searched; //´¦ÓÚ²¥·ÅÁбíģʽÇÒ²»´¦ÀíËÑË÷״̬ʱ²ÅÔÊÐíÍ϶¯ÅÅÐò m_playlist_list.SetDragEnable(enable); + if (m_pFloatPlaylistDlg->GetSafeHwnd() != NULL) - m_pFloatPlaylistDlg->GetListCtrl().SetDragEnable(enable); + m_pFloatPlaylistDlg->SetDragEnable(); + if(m_miniModeDlg.GetSafeHwnd()!=NULL) + m_miniModeDlg.SetDragEnable(); } BOOL CMusicPlayerDlg::OnInitDialog() @@ -3400,6 +3403,7 @@ void CMusicPlayerDlg::OnShowMenuBar() theApp.m_ui_data.show_menu_bar = !theApp.m_ui_data.show_menu_bar; SetMenubarVisible(); SetThumbnailClipArea(); + m_pUI->UpdateToolTipPosition(); //Òþ²Ø²Ëµ¥À¸ºóµ¯³öÌáʾ£¬¸æËßÓû§ÈçºÎÔÙ´ÎÏÔʾ²Ëµ¥À¸ if (!theApp.m_ui_data.show_menu_bar)