📄 medialibrarydlg.h
字号:
// MediaLibraryDlg.h : Declaration of the CMediaLibraryDlg
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
#ifndef __MEDIALIBRARYDLG_H_
#define __MEDIALIBRARYDLG_H_
#include "resource.h" // main symbols
#include <atlhost.h>
#include "wmp.h"
#include "wmpids.h"
enum NODENAME
{
TREE_PARENT = -1,
TREE_ALL,
TREE_NOWPLAYING,
TREE_MUSIC,
TREE_MUSIC_ARTIST,
TREE_MUSIC_ARTISTITEM,
TREE_MUSIC_ARTISTUNKNOWN,
TREE_MUSIC_GENRE,
TREE_MUSIC_GENREITEM,
TREE_MUSIC_GENREUNKNOWN,
TREE_MUSIC_ALBUM,
TREE_MUSIC_ALBUMITEM,
TREE_MUSIC_ALBUMUNKNOWN,
TREE_VIDEO,
TREE_VIDEO_ACTOR,
TREE_VIDEO_ACTORITEM,
TREE_VIDEO_ACTORUNKNOWN,
TREE_VIDEO_GENRE,
TREE_VIDEO_GENREITEM,
TREE_VIDEO_GENREUNKNOWN,
TREE_OTHER,
TREE_MYPLAYLIST,
TREE_MYPLAYLISTITEM,
TREE_AUTOPLAYLIST,
TREE_AUTOPLAYLISTITEM
};
/////////////////////////////////////////////////////////////////////////////
// CMainDlg
class CMediaLibraryDlg :
public CAxDialogImpl<CMediaLibraryDlg>
{
public:
CMediaLibraryDlg(IWMPPlayer* pPlayer);
~CMediaLibraryDlg();
enum { IDD = IDD_MEDIALIBRARYDLG };
BEGIN_MSG_MAP(CMediaLibraryDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
COMMAND_ID_HANDLER(IDOK, OnOK)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
COMMAND_ID_HANDLER(ID_PLAYLISTS_REMOVE, OnRemovePlaylist)
COMMAND_ID_HANDLER(ID_MEDIA_ADDURLOR, OnAddURL)
COMMAND_ID_HANDLER(ID_MEDIA_REMOVE, OnRemoveMedia)
NOTIFY_HANDLER(IDC_TREE, TVN_SELCHANGED, OnClickTree)
COMMAND_HANDLER(IDC_LIST, LBN_DBLCLK, OnDbClickMediaList)
COMMAND_HANDLER(IDC_LIST, LBN_SELCHANGE, OnSelectMedia)
END_MSG_MAP()
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnNewPlaylist(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnImportPlaylist(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnRemovePlaylist(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnAddURL(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnRemoveMedia(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnClickTree(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
LRESULT OnDbClickMediaList(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnSelectMedia(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
// Utility functions
void ShowMainTree();
HTREEITEM AddNode(TCHAR* szName, NODENAME iPara, HTREEITEM hParent = TVI_ROOT);
HRESULT ShowNowPlaying();
HRESULT ShowAllMedia();
HRESULT ShowAllMusic();
HRESULT ShowAllMusicTree();
HRESULT ShowAllVideo();
HRESULT ShowAllVideoTree();
HRESULT ShowPlaylistsTree();
HRESULT ShowOthers();
HRESULT ShowStringCollection(HTREEITEM hParent, NODENAME enumNode, TCHAR *szAttr, TCHAR *szMediaType);
HRESULT ShowPlaylist(IWMPPlaylist* pPlaylist, TCHAR *szMediaType = NULL);
HRESULT ShowPlaylist(TCHAR *szPlaylistName);
HRESULT ShowGetByAttr(TCHAR *szAttrName, TCHAR *szAttrVal, TCHAR *szMediaType);
void ShowChildNodes(HTREEITEM hParent);
private:
/************* Embedded WMP objects ********************/
CComPtr<IWMPPlayer> m_spPlayer; // Player
CComPtr<IWMPMediaCollection> m_spMC; // MediaCollection object
CComPtr<IWMPPlaylistCollection> m_spPC; // PlaylistCollection object
CComPtr<IWMPPlaylist> m_spSavedPlaylist; // Saved playlist object for media list
/************* Saved handlers for fast access ********************/
HWND m_hTree; // Tree view
HWND m_hList; // Media list
HWND m_hMetadata; // Metadata list
HTREEITEM m_hAllMusicNode; // All music node
HTREEITEM m_hAllVideoNode; // All video node
HTREEITEM m_hMyPlaylistsNode; // My playlists
HTREEITEM m_hAutoPlaylistwNode; // Auto playlist
NODENAME m_iSelectedNode; // The node that is selected
BOOL m_bIsShowingMedia; // Whether items in media list is real media names or just list of nodes
};
#endif //__MEDIALIBRARYDLG_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -