⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymp3secdlg.cpp

📁 用EVC开发的MP3播放器,可以播放.mp3,.wma,.wav等格式的音乐文件,还具有声音调节功能.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	GetDlgItemText(9,wavlist);
	wavlist=wavlist+".mp3";
	Onx();
	GetDlgItem(preV)->ShowWindow(SW_HIDE);
	preV=IDC_v9;
	GetDlgItem(IDC_v9)->ShowWindow(SW_SHOW);
}

void CMyMp3secDlg::On10()
{
	GetDlgItemText(10,wavlist);
	wavlist=wavlist+".mp3";
	Onx();
	GetDlgItem(preV)->ShowWindow(SW_HIDE);
	preV=IDC_v10;
	GetDlgItem(IDC_v10)->ShowWindow(SW_SHOW);
}

void CMyMp3secDlg::On11()
{
	GetDlgItemText(11,wavlist);
	wavlist=wavlist+".mp3";
	Onx();
	GetDlgItem(preV)->ShowWindow(SW_HIDE);
	preV=IDC_v11;
	GetDlgItem(IDC_v11)->ShowWindow(SW_SHOW);
}

void CMyMp3secDlg::On12()
{
	GetDlgItemText(12,wavlist);
	wavlist=wavlist+".mp3";
	Onx();
	GetDlgItem(preV)->ShowWindow(SW_HIDE);
	preV=IDC_v12;
	GetDlgItem(IDC_v12)->ShowWindow(SW_SHOW);
}

void CMyMp3secDlg::On13()
{
	GetDlgItemText(13,wavlist);
	wavlist=wavlist+".mp3";
	Onx();
	GetDlgItem(preV)->ShowWindow(SW_HIDE);
	preV=IDC_v13;
	GetDlgItem(IDC_v13)->ShowWindow(SW_SHOW);
}

void CMyMp3secDlg::On14()
{
	GetDlgItemText(14,wavlist);
	wavlist=wavlist+".mp3";
	Onx();
	GetDlgItem(preV)->ShowWindow(SW_HIDE);
	preV=IDC_v14;
	GetDlgItem(IDC_v14)->ShowWindow(SW_SHOW);
}

void CMyMp3secDlg::OnCurrent() 
{
	// TODO: Add your control notification handler code here
	int kkk=this->m_thePlayer.GetDuration(); //取得歌曲时间
CString j;
j.Format (_T("%s%d"),j,kkk);
MessageBox(j,TEXT("OnCurrent()中的m_thePlayer.GetDuration()"),MB_OK);
}

void CMyMp3secDlg::OnYanshi() 
{
	// TODO: Add your control notification handler code here
	MessageBox(TEXT("ABC"),TEXT("OnCurrent()中的m_thePlayer.GetDuration()"),MB_OK);
	//m_yanshi.Empty();
	//m_yanshi.LoadString('a');
	GetDlgItem(IDC_YANSHI)->SetWindowText(_T("china"));
MessageBox(TEXT("DET"),TEXT("OnCurrent()中的m_thePlayer.GetDuration()"),MB_OK);

	GetDlgItem(IDC_YANSHI)->ShowWindow(SW_HIDE);
MessageBox(TEXT("DET"),TEXT("OnCurrent()中的m_thePlayer.GetDuration()"),MB_OK);
}

void CMyMp3secDlg::vadd()
{
	long m_lState=m_thePlayer.GetPlayState();
	if(m_lState==2)
	{
		long m_volume=m_thePlayer.GetVolume();
	CString k;
	k.Format(_T("%s%d"),k,m_volume);
	//MessageBox(k,TEXT("m_volume"),MB_OK);
		if(m_volume>-300)
		{
			m_volume=-300;
		}
		m_thePlayer.SetVolume(m_volume+300);
	}
	else return;
}

void CMyMp3secDlg::vnec()
{
	long m_lState=m_thePlayer.GetPlayState();
	if(m_lState==2)
	{
		long m_volume=m_thePlayer.GetVolume();
		if(m_volume<-3000)
		{
			m_volume=-3000;
		}
		m_thePlayer.SetVolume(m_volume-300);
	}
	else return ;
}

void CMyMp3secDlg::OnFirst() 
{
	// TODO: Add your control notification handler code here
	On0();
	n=1;
	file = FindFirstFile(directorystar,&lpFileData);
	if(file!=INVALID_HANDLE_VALUE)
	{
		CString wavlist;
		wavlist=lpFileData.cFileName;
		int dot=wavlist.Find('.');
		wavlist=wavlist.Left(dot);
		GetDlgItem(1)->SetWindowText(wavlist);
		n++;
	}
	int i=2;
	BOOL FileEnd=FindNextFile(file,&lpFileData);
	while(FileEnd != 0)
	{      
		if(i<15)
		{
			CString wavlist;
			wavlist=lpFileData.cFileName;
			int dot=wavlist.Find('.');
			wavlist=wavlist.Left(dot);
			GetDlgItem(i)->SetWindowText(wavlist);	
			if(i<14)
			{
				FileEnd=FindNextFile(file,&lpFileData);
			}
			i++;
			n++;
		}
		else
		{
			FileEnd=0;	
		}			
	}
}

void CMyMp3secDlg::OnPre() 
{
	On0();
	for (int aa=1;aa <15; aa++)//首先将1到14个静态文本清空
	{
		
		 GetDlgItem(aa)->SetWindowText(_T(""));
	}
	int k,d;
	k=n/14;
	d=n%14;
	if(n<29)
	{
		file = FindFirstFile(directorystar,&lpFileData);
		if(file!=INVALID_HANDLE_VALUE)
		{
			CString wavlist;
			wavlist=lpFileData.cFileName;
			int dot=wavlist.Find('.');
			wavlist=wavlist.Left(dot);
			GetDlgItem(1)->SetWindowText(wavlist);
			n=1;
		}

		int i;
		i=2;
		BOOL FileEnd=FindNextFile(file,&lpFileData);
		while(FileEnd != 0)
		{      
			if(i<15)
			{
				CString wavlist;
				wavlist=lpFileData.cFileName;
				int dot=wavlist.Find('.');
				wavlist=wavlist.Left(dot);
				GetDlgItem(i)->SetWindowText(wavlist);
				if(i<14)
				{
					FileEnd=FindNextFile(file,&lpFileData);
				}
				i++;
				n++;
			}
			else
			{
				FileEnd=0;	
			}
		}
	}

	else //n>=29(我们的n=32),例如现在第三页(也是最后一页),此时n=32则k=2,d=4
	{
		//假如n=42,则 k=3,d=0,现在第三页n=42
		if(d==0)
		{    
			file = FindFirstFile(directorystar,&lpFileData);
			n=1;
			for(int aa=1;aa<14*(k-2);aa++)//aa=1;aa<14;aa++
			{
				FindNextFile(file,&lpFileData);
				n++;				
			}

			int i=1;
			BOOL FileEnd=FindNextFile(file,&lpFileData);
			while(FileEnd != 0)
			{      
				if(i<15)
				{
					CString wavlist;
					wavlist=lpFileData.cFileName;
					int dot=wavlist.Find('.');
					wavlist=wavlist.Left(dot);
					GetDlgItem(i)->SetWindowText(wavlist);
					if(i<14)
					{
						FileEnd=FindNextFile(file,&lpFileData);
					}
					n++;
					i++;
				}
				else
				{
					FileEnd=0;	
				}			
			}
		}


		else//n>=29(我们的n=32),例如现在第三页(也是最后一页),此时n=32则k=2,d=4
		{
		//MessageBox(_T("进入我们的循环"));
			file = FindFirstFile(directorystar,&lpFileData);
			n=1;
			for(int aa=1;aa<14*(k-1);aa++)//aa=1;aa<14;aa++
			{
				FindNextFile(file,&lpFileData);
				n++;				
			}
			int i=1;
			BOOL FileEnd=FindNextFile(file,&lpFileData);
			while(FileEnd != 0)
			{      
				if(i<15)
				{
					CString wavlist;
					wavlist=lpFileData.cFileName;
					int dot=wavlist.Find('.');
					wavlist=wavlist.Left(dot);
					GetDlgItem(i)->SetWindowText(wavlist);
					if(i<14)
					{
						FileEnd=FindNextFile(file,&lpFileData);
					}
					n++;
					i++;
				}
				else
				{
					FileEnd=0;	
				}
					
			}
		}
	}
	
}

void CMyMp3secDlg::OnNext() 
{
	On0();
	int i=1;
	BOOL FileEnd=FindNextFile(file,&lpFileData);
	if(FileEnd!= 0)
	{	
		for (int aa=1;aa < 15; aa++)//将8改为15
		{
		
			GetDlgItem(aa)->SetWindowText(_T(""));
		}
	}
	while(FileEnd != 0)
	{      
		if(i<15)
		{
			CString wavlist;
			wavlist=lpFileData.cFileName;
			int dot=wavlist.Find('.');
			wavlist=wavlist.Left(dot);
			GetDlgItem(i)->SetWindowText(wavlist);
		//当i=13找到第14个文件,接着i=14,将第14个文件显示。
		//接着因i=14,跳过if(i<14),i=15,n=28跳过if(i<15),FileEnd=0,跳出while循环
			if(i<14)
			{
				FileEnd=FindNextFile(file,&lpFileData);
			}
			n++;
			i++;
		}
		else
		{
			FileEnd=0;	
		}			
	}
	
}

void CMyMp3secDlg::OnEnd() 
{
	On0();
	for (int aa=1;aa <15; aa++)
	{
		
		 GetDlgItem(aa)->SetWindowText(_T(""));
	}
	int k,z=0,d;
	file = FindFirstFile(directorystar,&lpFileData);
	if(file!=INVALID_HANDLE_VALUE)
	{
		z++;//如果有第一个文件,z变为1
	}

	BOOL FileEnd=FindNextFile(file,&lpFileData);
	while(FileEnd != 0)
	{      
		z++;    //z最后是文件的数目
		FileEnd=FindNextFile(file,&lpFileData);
	}

	k=z/14;//例如z=32,则k=2(页数),d=4(剩在最后一叶的)
	d=z%14;

	if(z<=14)//如果所有文件在第一页就可以显示
	{
		file = FindFirstFile(directorystar,&lpFileData);
		if(file!=INVALID_HANDLE_VALUE)
		{
			CString wavlist;
			wavlist=lpFileData.cFileName;

			int dot=wavlist.Find('.');
			wavlist=wavlist.Left(dot);
			GetDlgItem(1)->SetWindowText(wavlist);
			n=0;
			n++; 
		}
		int i=2;
		BOOL FileEnd=FindNextFile(file,&lpFileData);
		while(FileEnd != 0)
		{      
			if(i<15)
			{
				CString wavlist;
				wavlist=lpFileData.cFileName;
				int dot=wavlist.Find('.');
				wavlist=wavlist.Left(dot);
				GetDlgItem(i)->SetWindowText(wavlist);
				n++;
				FileEnd=FindNextFile(file,&lpFileData);
				i++;
			}
			else
			{
				FileEnd=0;	
			}
		}
	}

	else  //z>14
	{
		file = FindFirstFile(directorystar,&lpFileData);
		n=1;
		if(d!=0)////例如z=32,则k=2(页数),d=4 (剩在最后一页的)
		{
			for(int aa=0;aa<14*k-1;aa++)//aa是整页的文件数目,例如aa=14*2-1=27,aa从0到27
			{
				FindNextFile(file,&lpFileData);
				n++;	//n++循环27次,n最后等于28	(n是前面整页的个数)		
			}
		}
		else//d=0,表明是整页,没有余的,如果整两页k=2,则n=14;
			//							如果整三页k=3,则n=28;
			//							如果整四页k=4,则n=42;						
		{
			for(int aa=0;aa<14*(k-1)-1;aa++)
			{
				FindNextFile(file,&lpFileData);
				n++;	//n是除最后一页外前面整页的个数
			}

		}
	//CString k;
	//k.Format (TEXT("%s%d"),k,n);
	//MessageBox(k,TEXT("n应该是28"),MB_OK);
	//在显示最后一页时,前面统计n并没有作用,实际上是靠FindNextFile()移动寻找指针,
	//例如有32个文件,前面首先n=1找到第一个文件,接着循环27次(这时n=28,文件指针指向第28个文件)
		int i=1;
		BOOL FileEnd=FindNextFile(file,&lpFileData);//文件指针指向第29个文件
		while(FileEnd != 0)
		{      
			if(i<15)
			{
				CString wavlist;
				wavlist=lpFileData.cFileName;
				int dot=wavlist.Find('.');
				wavlist=wavlist.Left(dot);
				GetDlgItem(i)->SetWindowText(wavlist);
				n++;	//n最后指向第32个文件
				FileEnd=FindNextFile(file,&lpFileData);
				i++;
			}
			else
			{
				FileEnd=0;	
			}
			
		}
			
	}
	
}



HBRUSH CMyMp3secDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	for(int color=1;color<15;color++)
	{
		if(pWnd->GetDlgCtrlID()==color)
		{
			pDC->SetBkColor(RGB(180,180,180));
			pDC->SetTextColor(RGB(0,0,255));
		}
	}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -