从上周到现在一直在弄着个用MFC写的MP3,昨晚终于弄好了,终于有东西可以交给老师了,这段时间为了弄这东西,自己看MFC,看windows编程,看代码,敲代码,虽然有些累但还是觉得挺值得的,今晚彻底弄懂了一个功能,挺开心的,编程小白就是这样子的吧,不管什么,只要弄懂一点就会觉得很开心,编程很好玩。
下面是这一功能的代码,很短
OPENFILENAME ofn;
ZeroMemory(&ofn,sizeof(ofn));//清零
ofn.lStructSize=sizeof(ofn); //缓冲区的大小
ofn.lpstrFile=szFile; //指向一对以空字符结束的过滤字符串的一个缓冲
ofn.lpstrFile[0]=TEXT('\0');
ofn.nMaxFile=sizeof(szFile); ///指定lpstrFile缓冲的大小,以TCHARs为单位
ofn.lpstrFilter=TEXT("音乐文件wma\0*.wma\0音乐文件mp3\0*.MP3\0所有文件\0*.*\0");
ofn.nFilterIndex=2;///指定在文件类型控件中当前选择的过滤器的索引
ofn.lpstrInitialDir=NULL;//指向以空字符结束的字符串,可以在这个字符串中指定初始目录
ofn.Flags=OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST|OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR;
GetOpenFileName(&ofn);
继续努力!
今晚弄你哥哥按键弄了很久,没有成功。。。。。
不过懂的了引入位图的方法,很简单却很有用
代码如下
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP2);
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);