基本信息
源码名称:c++ 仿qq音乐播放器 示例源码
源码大小:3.81M
文件格式:.rar
开发语言:C/C++
更新时间:2017-06-03
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#include "stdafx.h" #include "QQMusic.h" #include "QQMusicDlg.h" #include "afxdialogex.h" #define WM_MSG_TRAY (WM_USER 1) #ifdef _DEBUG #define new DEBUG_NEW #endif class CAboutDlg : public CDialogEx { public: CAboutDlg(); #ifdef AFX_DESIGN_TIME enum { IDD = IDD_ABOUTBOX }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() CQQMusicDlg::CQQMusicDlg(CWnd* pParent) : CDialogEx(IDD_QQMUSIC_DIALOG, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_pProgressBar = NULL; m_pTabManagerWnd = NULL; m_pRecentSongList = NULL; m_pLocalSongWnd = NULL; m_pMusicHallWnd = NULL; m_pMvClassWnd = NULL; m_pLoveSongWnd = NULL; m_ReadLrcWnd = NULL; m_pCurWnd = NULL; m_hSystemIcon = (HICON)LoadImage(AfxGetInstanceHandle(), _T("E:\\VC_Project\\QQMusic\\QQMusic\\res\\QQMusic.ico"), IMAGE_ICON, 0, 0, LR_LOADFROMFILE); } void CQQMusicDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CQQMusicDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_DESTROY() ON_WM_SIZE() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_MESSAGE(WM_TABCTRL_MANAGER_LBUTTONDOWN,&CQQMusicDlg::OnLTabButtonDown) ON_MESSAGE(WM_MSG_TRAY, &CQQMusicDlg::OnMsgTray) END_MESSAGE_MAP() LRESULT CQQMusicDlg::OnMsgTray(WPARAM wParam, LPARAM lParam) { switch (lParam) { case WM_LBUTTONDOWN: { ShowWindow(SW_SHOWNORMAL); } break; case WM_RBUTTONDOWN: { //m_pTryMenu.PopMenu(200, FALSE); } break; } return TRUE; } LRESULT CQQMusicDlg::OnLTabButtonDown(WPARAM wParam, LPARAM lParam) { switch (wParam) { case 0: switch (lParam) { case 0: if (m_pCurWnd != m_pMusicHallWnd) { m_pCurWnd->ShowWindow(SW_HIDE); m_pCurWnd = m_pMusicHallWnd; } break; case 1: if (m_pCurWnd != m_pMvClassWnd) { m_pCurWnd->ShowWindow(SW_HIDE); m_pCurWnd = m_pMvClassWnd; } break; case 2: break; default: break; } break; case 1: { switch (lParam) { case 0: if (m_pCurWnd != m_pLoveSongWnd) { m_pCurWnd->ShowWindow(SW_HIDE); m_pCurWnd = m_pLoveSongWnd; } break; case 1: if (m_pCurWnd != m_pLocalSongWnd) { m_pCurWnd->ShowWindow(SW_HIDE); m_pCurWnd = m_pLocalSongWnd; } break; case 2: if (m_pCurWnd != m_pPlayHistoryWnd) { m_pCurWnd->ShowWindow(SW_HIDE); m_pCurWnd = m_pPlayHistoryWnd; } break; case 3: break; default: break; } } break; case 2: break; default: break; } m_pCurWnd->ShowWindow(SW_SHOW); return 0; } BOOL CQQMusicDlg::OnInitDialog() { CDialogEx::OnInitDialog(); ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); CRect rect; GetClientRect(rect); m_pProgressBar = new CCustomProgressBar(); m_pProgressBar->Create(WS_CHILD | WS_VISIBLE, CRect(rect.left 300, rect.bottom - 40, rect.left 700, rect.bottom - 30), this, IDC_PROGRESSBAR_WND); m_pProgressBar->SetSongLength(1000); m_pTabManagerWnd = new CTabCtrlManagerWnd(); m_pTabManagerWnd->Create(WS_CHILD | WS_VISIBLE, CRect(0, rect.top 100, 200, rect.bottom -80), this, IDC_TAB_MANAGER_WND); INT nRet = m_pTabManagerWnd->InsertSongClass(_T("在线音乐")); m_pTabManagerWnd->InsertSongType(nRet,_T("音乐馆")); m_pTabManagerWnd->InsertSongType(nRet, _T("MV")); m_pTabManagerWnd->InsertSongType(nRet, _T("个性电台")); nRet = m_pTabManagerWnd->InsertSongClass(_T("我的音乐")); m_pTabManagerWnd->InsertSongType(nRet, _T("我喜欢")); m_pTabManagerWnd->InsertSongType(nRet, _T("本地和下载")); m_pTabManagerWnd->InsertSongType(nRet, _T("播放历史")); m_pTabManagerWnd->InsertSongType(nRet, _T("试听列表")); nRet = m_pTabManagerWnd->InsertSongClass(_T("我创建的歌单")); m_pTabManagerWnd->InsertSongType(nRet, _T("我最爱听")); TCHAR path[255]; GetModuleFileName(NULL, path, 255); CString fileName(path); int nIn = fileName.ReverseFind('\\'); path[nIn] = '\0'; fileName = CString(path) _T("\\photo\\1.bmp"); m_pMusicHallWnd = new CMusicHallWnd(); m_pMusicHallWnd->Create(WS_CHILD, CRect(rect.left 201, rect.top 30, rect.right, rect.bottom - 80), this, IDC_MUSICHALL_WND); m_pMusicHallWnd->InsertSongerArea(_T("内地")); m_pMusicHallWnd->InsertSongerArea(_T("港台")); m_pMusicHallWnd->InsertSongerArea(_T("欧美")); m_pMusicHallWnd->InsertSongerArea(_T("日本")); m_pMusicHallWnd->InsertSongerArea(_T("韩国")); m_pMusicHallWnd->InsertSongerArea(_T("其他")); m_pMusicHallWnd->InsertSonger(_T("流行")); m_pMusicHallWnd->InsertSonger(_T("流行")); m_pMusicHallWnd->InsertSonger(_T("嘻哈")); m_pMusicHallWnd->InsertSonger(_T("摇滚")); m_pMusicHallWnd->InsertSonger(_T("电子")); m_pMusicHallWnd->InsertSonger(_T("民谣")); m_pMusicHallWnd->InsertSonger(_T("R&B")); m_pMusicHallWnd->InsertSonger(_T("民歌")); m_pMusicHallWnd->InsertSonger(_T("轻音乐")); m_pMusicHallWnd->InsertSonger(_T("爵士")); m_pMusicHallWnd->InsertSonger(_T("古典")); m_pMusicHallWnd->InsertSonger(_T("乡村")); m_pMusicHallWnd->InsertSonger(_T("蓝调")); m_pMusicHallWnd->InsertRadioItem(_T("薛之谦"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("周杰伦"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("林俊杰"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("杨综纬"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("李玉刚"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("张杰"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("陈奕迅"), fileName); m_pMusicHallWnd->InsertRadioItem(_T("赵雷"), fileName); INT_PTR nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("热门")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("个性电台"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("热歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("一人一首招牌歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("KTV必点歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("车载低影炮"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("经典翻唱"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("伤感"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("咖啡馆"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("英语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("网络流行"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("店铺"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("DJ热碟"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("劲歌热舞"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("新歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("经典"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("抒情英文歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("轻音乐"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("粤语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("80后"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("劲歌炫舞"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("上午")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("好好工作"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("陪你看书"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("轻松一刻"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("满满正能量"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("来一杯咖啡"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("最近")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("个性电台"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("DJ热碟"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("一人一首招牌歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("KTV必点歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("网络流行"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("日语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("古筝"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("咖啡馆"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("热歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("抒情英文歌"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("情感")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("伤感"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("安静"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("心痛"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("快乐"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("励志"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("甜蜜"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("疗伤"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("思念"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("感动"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("寂寞"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("主题")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("热歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("一人一首招牌歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("KTV必点歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("车载低音炮"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("经典翻唱"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("网络流行"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("DJ热碟"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("热歌劲舞"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("经典"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("抒情英文歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("新歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("劲歌热舞"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("老歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("网络伤感情歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("神曲"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("伤感中国风"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("男人情歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("二次元"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("HIGH翻电音"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("浪漫韩剧"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("老情歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("经典英文歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("武侠情结"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("伤感粤语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("经典现场"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("超赞纯人声"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("沙发音乐"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("曲风")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("草原风"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("古风"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("民谣"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("Hip-Hop"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("中国风"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("舞曲"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("流行"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("R&B"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("乡村"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("民歌"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("电子"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("摇滚"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("Bossa Nova"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("爵士"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("古典"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("语言")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("英语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("粤语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("怀旧粤语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("怀旧华语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("怀旧英语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("华语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("韩语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("日语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("闽南语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("泰语"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("法语"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("人群")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("80后"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("90后"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("儿童"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("00后"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("70后"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("女神"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("男神"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("上班族"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("暖男"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("文艺青年"), fileName); nIndex = m_pMusicHallWnd->InsertRadioClassItem(_T("乐器")); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("钢琴"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("古筝"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("萨克斯"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("笛子"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("吉他"), fileName); m_pMusicHallWnd->InsertRadioItem(nIndex, _T("小提琴"), fileName); m_pMvClassWnd = new CMVClassWnd(); m_pMvClassWnd->Create(WS_CHILD, CRect(rect.left 201, rect.top 30, rect.right, rect.bottom - 80), this, IDC_MVCLASS_WND); m_pMvClassWnd->InsertItem(_T("推荐")); m_pMvClassWnd->InsertItem(_T("腾讯独家")); m_pMvClassWnd->InsertItem(_T("排行榜")); m_pMvClassWnd->InsertItem(_T("MV库")); m_pMvClassWnd->InsertArea(_T("全部")); m_pMvClassWnd->InsertArea(_T("内地")); m_pMvClassWnd->InsertArea(_T("港台")); m_pMvClassWnd->InsertArea(_T("欧美")); m_pMvClassWnd->InsertArea(_T("韩国")); m_pMvClassWnd->InsertArea(_T("日本")); m_pMvClassWnd->InsertArea(_T("其他")); m_pMvClassWnd->InsertType(_T("全部")); m_pMvClassWnd->InsertType(_T("官方版")); m_pMvClassWnd->InsertType(_T("隐私原声")); m_pMvClassWnd->InsertType(_T("舞蹈")); m_pMvClassWnd->InsertType(_T("混音版")); m_pMvClassWnd->InsertType(_T("KTV版")); m_pMvClassWnd->InsertType(_T("音乐电影")); m_pMvClassWnd->InsertType(_T("演唱会")); m_pMvClassWnd->InsertType(_T("颁奖礼")); m_pMvClassWnd->InsertType(_T("动漫")); m_pMvClassWnd->InsertType(_T("翻制版")); m_pMvClassWnd->InsertType(_T("预告版")); m_pMvClassWnd->InsertType(_T("花絮版")); m_pMvClassWnd->InsertType(_T("游戏")); m_pMvClassWnd->InsertType(_T("广告")); m_pMvClassWnd->InsertType(_T("Flash动画")); m_pMvClassWnd->InsertType(_T("创意")); m_pMvClassWnd->InsertType(_T("搞笑")); m_pMvClassWnd->InsertType(_T("制服")); m_pMvClassWnd->InsertType(_T("一镜到底")); m_pMvClassWnd->InsertType(_T("迷幻")); m_pMvClassWnd->InsertType(_T("重口味")); m_pMvClassWnd->InsertType(_T("鬼畜")); m_pMvClassWnd->InsertType(_T("穿越")); m_pMvClassWnd->InsertType(_T("剧情")); m_pMvClassWnd->InsertType(_T("清新")); m_pMvClassWnd->InsertType(_T("民族风")); m_pMvClassWnd->InsertType(_T("弹奏")); m_pMvClassWnd->InsertType(_T("景色")); m_pMvClassWnd->InsertType(_T("杀马特")); m_pMvClassWnd->InsertType(_T("戏曲")); m_pMvClassWnd->InsertType(_T("儿歌")); m_pMvClassWnd->InsertYear(_T("全部")); m_pMvClassWnd->InsertYear(_T("2017")); m_pMvClassWnd->InsertYear(_T("2016")); m_pMvClassWnd->InsertYear(_T("2015")); m_pMvClassWnd->InsertYear(_T("2014")); m_pMvClassWnd->InsertYear(_T("2013")); m_pMvClassWnd->InsertYear(_T("2012")); m_pMvClassWnd->InsertYear(_T("2011")); m_pMvClassWnd->InsertYear(_T("2010")); m_pMvClassWnd->InsertYear(_T("00年代")); m_pMvClassWnd->InsertYear(_T("其他")); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pMvClassWnd->InsertItem(_T("薛之谦"), fileName); m_pMvClassWnd->InsertItem(_T("手中沙"), fileName); m_pLoveSongWnd = new CLoveSongListWnd(); m_pLoveSongWnd->Create(WS_CHILD, CRect(rect.left 201, rect.top 30, rect.right, rect.bottom - 80), this, IDC_LOVESONG_WND); m_pLoveSongWnd->InsertColumn(_T("歌曲"), DT_LEFT, 250); m_pLoveSongWnd->InsertColumn(_T("歌手"), DT_LEFT, 120); m_pLoveSongWnd->InsertColumn(_T("专辑"), DT_LEFT, 120); m_pLoveSongWnd->RecalHeaderWidth(); m_pLocalSongWnd = new CLocalSongWnd(); m_pLocalSongWnd->Create(WS_CHILD, CRect(rect.left 201, rect.top 30, rect.right, rect.bottom - 80), this, IDC_LOCALSONG_WND); m_pLocalSongWnd->InsertColumn(_T("歌曲"), DT_LEFT, 250); m_pLocalSongWnd->InsertColumn(_T("歌手"), DT_LEFT, 120); m_pLocalSongWnd->InsertColumn(_T("专辑"), DT_LEFT, 120); m_pLocalSongWnd->RecalHeaderWidth(); m_pPlayHistoryWnd = new CPlayHistoryListWnd(); m_pPlayHistoryWnd->Create(WS_CHILD, CRect(rect.left 201, rect.top 30, rect.right, rect.bottom - 80), this, IDC_PALYHISTORY_WND); m_pPlayHistoryWnd->InsertColumn(_T("歌曲"), DT_LEFT, 200); m_pPlayHistoryWnd->InsertColumn(_T("歌手"), DT_LEFT, 100); m_pPlayHistoryWnd->InsertColumn(_T("专辑"), DT_LEFT, 100); m_pPlayHistoryWnd->RecalHeaderWidth(); TCHAR szItem[100]; for (int i = 0; i < 50; i ) { wsprintf(szItem, _T("%s %d"), _T("D:\\KwDownload\\song\\陈冠蒲 - 太多.mp3"), i 1); m_pLocalSongWnd->InsertItem(szItem); } for (int i = 0; i < 50; i ) { wsprintf(szItem, _T("%s %d"), _T("D:\\KwDownload\\song\\陈冠蒲 - 太多.mp3"), i 1); m_pLoveSongWnd->InsertItem(szItem); } for (int i = 0; i < 50; i ) { wsprintf(szItem, _T("%s %d"), _T("D:\\KwDownload\\song\\陈冠蒲 - 太多.mp3"), i 1); m_pPlayHistoryWnd->InsertItem(szItem); } m_pCurWnd = m_pLocalSongWnd; // m_pTryMenu.Create(WS_POPUP,CRect(0,0,0,0)); // m_pTryMenu.InitMenu(30, 200); // m_pTryMenu.InsertMenuItem(ID_MENU_SONG_CONTROL, 0, 0, _T("")); // m_pTryMenu.InsertMenuItem(0, 0, MENU_FLAG_SEPTOR, _T("")); // m_pTryMenu.InsertMenuItem(ID_MENU_VOLUME_CONTROL, 0, 0, _T("")); // m_pTryMenu.InsertMenuItem(ID_MENU_SHOW_LRC, 0, MENU_FLAG_ITEM, _T("显示歌词")); // m_pTryMenu.InsertMenuItem(0, 0, MENU_FLAG_SEPTOR, _T("")); // m_pTryMenu.InsertMenuItem(ID_MENU_SET, 0, MENU_FLAG_ITEM, _T("设置")); // m_pTryMenu.InsertMenuItem(ID_MENU_EXIT_LOGIN, 0, MENU_FLAG_ITEM, _T("退出登录")); // m_pTryMenu.InsertMenuItem(ID_MENU_EXIT, 0, MENU_FLAG_ITEM, _T("退出QQ音乐")); m_ReadLrcWnd = new CReadLrcWnd(); m_ReadLrcWnd->Create(WS_CHILD|WS_VISIBLE, CRect(0, 0, 0, 0), this, IDC_READLRC_WND); m_pSystemTray = new SystemTray(); m_pSystemTray->Create(this, 1, WM_MSG_TRAY); m_pSystemTray->SetIcon(m_hSystemIcon); return TRUE; } void CQQMusicDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); } } void CQQMusicDlg::OnSize(UINT nType, int cx, int cy) { CWnd::OnSize(nType,cx,cy); CRect rect; GetClientRect(rect); if (m_ReadLrcWnd && m_ReadLrcWnd->GetSafeHwnd()) { m_ReadLrcWnd->MoveWindow(201, 30, rect.Width() - 200, rect.bottom - 130, TRUE); } if (m_pTabManagerWnd && m_pTabManagerWnd->GetSafeHwnd()) { m_pTabManagerWnd->MoveWindow(0, 100, 200, rect.bottom - 180); } if (m_pProgressBar && m_pProgressBar->GetSafeHwnd()) { m_pProgressBar->MoveWindow(300, rect.Height() - 40, 400, 10, TRUE); } if (m_pLoveSongWnd && m_pLoveSongWnd->GetSafeHwnd()) { m_pLoveSongWnd->MoveWindow(201, 30, rect.Width() - 200, rect.bottom - 110, TRUE); } if (m_pMusicHallWnd && m_pMusicHallWnd->GetSafeHwnd()) { m_pMusicHallWnd->MoveWindow(201, 30, rect.Width() - 200, rect.bottom - 110, TRUE); } if (m_pMvClassWnd && m_pMvClassWnd->GetSafeHwnd()) { m_pMvClassWnd->MoveWindow(201, 30, rect.Width() - 200, rect.bottom - 110, TRUE); } if (m_pLocalSongWnd && m_pLocalSongWnd->GetSafeHwnd()) { m_pLocalSongWnd->MoveWindow(201, 30, rect.Width() - 200, rect.bottom - 110, TRUE); } if (m_pPlayHistoryWnd && m_pPlayHistoryWnd->GetSafeHwnd()) { m_pPlayHistoryWnd->MoveWindow(201, 30, rect.Width() - 200, rect.bottom - 110, TRUE); } if(GetDlgItem(IDC_BUTTON_ABOVE)->GetSafeHwnd()) GetDlgItem(IDC_BUTTON_ABOVE)->MoveWindow(10, rect.bottom - 60, 80, 50); if(GetDlgItem(IDC_BUTTON_CONTROL_MUSIC)->GetSafeHwnd()) GetDlgItem(IDC_BUTTON_CONTROL_MUSIC)->MoveWindow(100, rect.bottom - 60, 80, 50); if(GetDlgItem(IDC_BUTTON_NEXT)->GetSafeHwnd()) GetDlgItem(IDC_BUTTON_NEXT)->MoveWindow(190, rect.bottom - 60, 80, 50); if(GetSafeHwnd()) Invalidate(FALSE); } void CQQMusicDlg::OnDestroy() { if (m_pProgressBar && m_pProgressBar->GetSafeHwnd()) { m_pProgressBar->DestroyWindow(); delete m_pProgressBar; m_pProgressBar = NULL; } if (m_pTabManagerWnd && m_pTabManagerWnd->GetSafeHwnd()) { m_pTabManagerWnd->DestroyWindow(); delete m_pTabManagerWnd; m_pTabManagerWnd = NULL; } if (m_pLoveSongWnd &&m_pLoveSongWnd->GetSafeHwnd()) { m_pLoveSongWnd->DestroyWindow(); delete m_pLoveSongWnd; m_pLoveSongWnd = NULL; } if (m_pMusicHallWnd && m_pMusicHallWnd->GetSafeHwnd()) { m_pMusicHallWnd->DestroyWindow(); delete m_pMusicHallWnd; m_pMusicHallWnd = NULL; } if (m_pMvClassWnd && m_pMvClassWnd->GetSafeHwnd()) { m_pMvClassWnd->DestroyWindow(); delete m_pMvClassWnd; m_pMvClassWnd = NULL; } if (m_pLocalSongWnd && m_pLocalSongWnd->GetSafeHwnd()) { m_pLocalSongWnd->DestroyWindow(); delete m_pLocalSongWnd; m_pLocalSongWnd = NULL; } // if (m_pTryMenu.GetSafeHwnd()) //{ // m_pTryMenu.DestroyWindow(); // } if (m_hSystemIcon) { DestroyIcon(m_hSystemIcon); } if (m_pSystemTray) { m_pSystemTray->Destroy(); delete m_pSystemTray; m_pSystemTray = NULL; } if (m_pPlayHistoryWnd && m_pPlayHistoryWnd->GetSafeHwnd()) { m_pPlayHistoryWnd->DestroyWindow(); delete m_pPlayHistoryWnd; m_pPlayHistoryWnd = NULL; } if (m_ReadLrcWnd && m_ReadLrcWnd->GetSafeHwnd()) { m_ReadLrcWnd->DestroyWindow(); delete m_ReadLrcWnd; m_ReadLrcWnd = NULL; } CWnd::OnDestroy(); } void CQQMusicDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon 1) / 2; int y = (rect.Height() - cyIcon 1) / 2; dc.DrawIcon(x, y, m_hIcon); } else { CPaintDC dc(this); CDC memDC; memDC.CreateCompatibleDC(&dc); CRect rect; GetClientRect(&rect); CBitmap BitMap; BitMap.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height()); CBitmap *pOldBitMap = memDC.SelectObject(&BitMap); memDC.FillSolidRect(rect,RGB(255, 255, 255)); CRect TopRect(rect); TopRect.bottom = rect.top 30; memDC.FillSolidRect(TopRect, RGB(0, 65, 66)); CRect bottomRect(rect); bottomRect.top = rect.bottom - 80; memDC.FillSolidRect(bottomRect, RGB(26, 82, 85)); CPen pen(PS_SOLID, 1, RGB(222, 222, 222)); CPen *pOldPen = memDC.SelectObject(&pen); memDC.MoveTo(rect.left 200, rect.top 30); memDC.LineTo(rect.left 200, rect.bottom - 80); dc.BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY); memDC.SelectObject(pOldPen); memDC.SelectObject(pOldBitMap); BitMap.DeleteObject(); } } HCURSOR CQQMusicDlg::OnQueryDragIcon() { return static_cast<HCURSOR>(m_hIcon); }