📄 mymp3secdlg.cpp
字号:
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 + -