广西工学院课程设计用纸
if(MyFile.Read(&BmpInfo,sizeof(BmpInfo))!=sizeof(BmpInfo)) { MessageBox(\读位图信息出现错误\ return; } if(BmpInfo.biBitCount != 24) { MessageBox(\不是真24位图,程序不支持\ return; } pBmpInfo = (BITMAPINFO*)new char[sizeof(BITMAPINFOHEADER)]; if(!pBmpInfo) { MessageBox(\内存分配错误!\ return; } memcpy(pBmpInfo,&BmpInfo,sizeof(BITMAPINFOHEADER)); dataBytes = BmpHeader.bfSize - BmpHeader.bfOffBits; pBmpData = (BYTE*)new char[dataBytes]; if(!pBmpData) { MessageBox(\内存分配错误!\ delete pBmpInfo; return; } if(MyFile.Read(pBmpData,dataBytes) != dataBytes) { MessageBox(\读取位图数据错误!\ delete pBmpInfo; delete pBmpData; return; } MyFile.Close(); CClientDC *pDC =new CClientDC(this); pDC->SetStretchBltMode(COLORONCOLOR); StretchDIBits(pDC->GetSafeHdc(),0,0,BmpInfo.biWidth, BmpInfo.biHeight,0,0,BmpInfo.biWidth, BmpInfo.biHeight,pBmpData,pBmpInfo,DIB_RGB_COLORS,SRCCOPY); }
void CMFCView::OnOpenWav()
{//点击“打开wav音频文件”消息响应函数 char szFilter[] = \
第 页 共 页
广西工学院课程设计用纸
}
CFileDialog Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFilter); if(Dlg.DoModal() == IDCANCEL) return;
CString StrFileName;
StrFileName = Dlg.GetPathName();
sndPlaySound(StrFileName,SND_SYNC);
4.运行结果及分析
开始程序启动画面:
程序运行界面:
程序运行良好、能正确的显示运行结果,基本完成各项的功能需求和性能需求。不会出现错误,内存泄露和内存错误。可以检查错误输入。 程序中存在的不足:
1. 没有能够实现任意曲线的“撤消“功能。
2. 没有能够将用户绘制的图形 输出 为bmp的位图文件。
5.总结
本次使用MFC写程序,主要的原因
1. 是API编程过少,只是编写过一些基本的API程序。没有尝试过编写比较大型的程
序API的经验不足。
2. 觉得MFC比API容易上手,可以不用关注与界面如何设计。再者MFC提供了强大
的类库,可以供我调用。
3. 我做的MFC程序要涉及到比较复杂的文件存储功能,用API过于复杂。
4. MFC的可阅读性,我认为高于API,在以后编程中讲究的是速度,对于API的运行
第 页 共 页
广西工学院课程设计用纸
速度快的话,可以由计算机的硬件解决。就目前编程程序很小,对速度的要求不高,但是对代码的可阅读性要求就高了。
5. 本人一贯认为用MFC好的地方,就是大大的减轻了程序员的负担。虽然说API是手
动照相机,是万能的。但是并不是人人都可以玩得很熟练的。对于API的态度,就是理解就得了,懂得程序的运行机制。这样对MFC的内核的理解,有很大的帮助。 6. API是用来当基础来学的,MFC是用来应用来学的。在理解API的基础上运用MFC,
我认为才是现在我门要做的。
7. 还有就是本人学windows程序设计的时候,是先从MFC开始入手,先玩熟了MFC
再深入到MFC里面的机制。遇到很多问题,很多原理性的东西不会。再从头开始学API,这样边学API,就边对MFC的内部机制的理解就比较清晰了。
本次程序设计的感触:
1. 对MFC的类库,了解过少。很多功能不是不会,而是没有用到那些类和那些代码,
很多东西其实耍过一遍就会了的,以后遇到相同的问题就可以COPY以前类似的代码。
2. 对MFC的代码积累不够。
3. 对MFC的内部机制了解不够清晰。
4. 时间不充裕,有点赶程序的意思,很多代码的编写,只是考虑了实现这个功能,没有
更深层次的对内存,对程序结构的考虑。
革命尚不成功,同志仍需努力。
第 页 共 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MFC绘图版 软件说明书(6)在线全文阅读。
相关推荐: