在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例Android手机应用开发 → c++ 仿qq音乐播放器 示例源码

c++ 仿qq音乐播放器 示例源码

Android手机应用开发

下载此实例
  • 开发语言:C/C++
  • 实例大小:3.81M
  • 下载次数:47
  • 浏览次数:493
  • 发布时间:2017-06-03
  • 实例类别:Android手机应用开发
  • 发 布 人:chenzhou8914
  • 文件格式:.rar
  • 所需积分: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);
}

标签: 界面编程代码

实例下载地址

c++ 仿qq音乐播放器 示例源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警