Visual C++6.0 绘图基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC6.0绘图基础

2.3.6 设备上下文的调用和释放 1.获得设备上下文 在VC++程序中输出图形和文本时,如果不在OnDraw()函数中输出,则首先需要获得设备上下文,然后才能调用相应的CDC类的成员函数绘图。由于在任何时刻只能最多获得5个设备上下文,不释放设备上下文会影响其他应用程序的访问,因此绘图完成后应释放所获得的设备上下文。 CDC* GetDC( ); 2.释放设备上下文 int ReleaseDC(CDC* pDC); 2.3.7 MFC绘制图形的几种方法 例2-19 使用同心椭圆和同心圆绘制著名标志。 void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here …… CPoint dl,tr; //绘制外部黑色椭圆 dl=CPoint(-200,-150),tr=CPoint(200,150); CBrush NewBrush,*pOldBrush; NewBrush.CreateSolidBrush(RGB(0,0,0)); pOldBrush=pDC-SelectObject(NewBrush); pDC-Ellipse(CRect(dl,tr)); pDC-SelectObject(pOldBrush); NewBrush.DeleteObject(); void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here //绘制外部白色圆 dl=CPoint(-147,-147),tr=CPoint(147,147); pDC-Ellipse(CRect(dl,tr)); //绘制内部黑色椭圆 dl=CPoint(-140,-90),tr=CPoint(140,90); NewBrush.CreateSolidBrush(RGB(0,0,0)); pOldBrush=pDC-SelectObject(NewBrush); pDC-Ellipse(CRect(dl,tr)); pDC-SelectObject(pOldBrush); NewBrush.DeleteObject(); //绘制内部白色圆 dl=CPoint(-88,-88),tr=CPoint(88,88); pDC-Ellipse(CRect(dl,tr)); } 1.使用OnDraw()函数直接绘图 前面介绍的例程都是在OnDraw()成员函数内绘图,可以直接使用pDC指针绘图,且程序一运行屏幕上即自动绘出图形,这种方法常用于绘制初始场景。 2.使用菜单绘图 void CTestView::OnMdraw()//菜单响应函数 { // TODO: Add your command handler code here CDC *pDC=GetDC(); 添加例2-19代码 ReleaseDC(pDC); } 3.使用自定义函数绘图 DrawObject(CDC* pDC) 函数中的代码为例2-19。 本章小结 本章是学习后续章节的基础,简单介绍了面向对象程序设计的基本内容,包括C++的类、对象、继承等概念,供读者复习;详细讲解使用MFC建立Test工程的上机操作步骤,为以后的案例设计建立程序框架;重点示范了MFC中最常用的基本绘图函数,为以后的图形设计奠定基础。面向对象程序设计基础不属于本课程的范畴,读者可以根据自身情况,对本章内容进行适当取舍。 习题 2 1.参照例2-4,建立file文件夹,将CRectangle类分别保存为Rectangle.h文件和Rectangle.cpp文件;将CCuboid类分别保存为Cuboid.h文件和Cuboid.cpp文件;将main函数保存为Main.cpp文件。使用Win32 Console Application进行建立Test工程,分别添加上述文件,ClassView页面内容如图2-59所示,FileView页面内容如图2-60所示。请简述文件添加过程并输出图2-20所示的结果。 图2-59 ClassView页面 图2-60 FileView页面 2.使用MFC设计一个长方形类CRectangle,使用对话框输入长方形的长度和宽度,在客户区输出长方形的周长和面积,如图2-

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档