资源描述:
《Windows编程实验二实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、武汉轻工大学Windows编程实验报告(实验二)姓名:刘文斌院系:数学与计算机学院班级:软件工程1303班学号:1305110050老师:刘文涛2015.11.19一、实验目的和要求1、了解CDC类的使用2、掌握常用绘图函数的使用3、学会设置字体4、掌握画笔和画刷的使用5、了解不同文本输出函数的用法二、实验内容【程序1:】编写一个单文档的应用程序,在视图窗口中显示一行文本,要求文本颜色为红色,背景色为黄色。【程序2:】编写一个单文档的应用程序,在客户区使用不同的画笔和画刷绘制点、折线、曲线、圆角矩形
2、、弧、扇形和多边形等几何图形。【程序3:】编写一个单文档的应用程序,在视图窗口中显示3个圆,通过使用不同颜色的画笔以及画刷来模拟交通红绿灯。【程序4:】编写一个单文档的应用程序,在视图窗口实现一行文本的水平滚动显示,要求每个周期文本为红、黄两种颜色,字体为宋、楷两种字体。三、实验过程1、voidCTestView::OnDraw(CDC*pDC){CTestDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedat
3、aherepDC->SetTextColor(RGB(255,0,0));pDC->SetBkColor(RGB(255,255,0));pDC->TextOut(20,30,"红色字体,黄色背景!");}结果如图2、编写一个应用程序test,在客户区使用不同的画笔和画刷绘制点、折线、曲线、圆角矩形、弧、扇形和多边形等几何图形。同理在MFC单文档OnDraw函数中加入以下代码。voidCTestView::OnDraw(CDC*pDC){CTestDoc*pDoc=GetDocument();ASS
4、ERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereCPen*penOld,penNew;CBrush*brushOld,brushNew;penNew.CreatePen(PS_SOLID,5,RGB(255,0,0));pDC->SelectObject(&penNew);pDC->SetPixel(CPoint(100,100),RGB(255,0,0));pDC->MoveTo(150,70);pDC->LineTo(300,100);pDC
5、->LineTo(400,240);pDC->LineTo(200,270);pDC->MoveTo(500,100);pDC->Arc(20,200,200,300,200,250,20,200);pDC->RoundRect(450,100,600,200,30,30);pDC->Arc(100,300,300,500,300,400,200,300);pDC->MoveTo(300,400);pDC->LineTo(200,400);pDC->MoveTo(200,300);pDC->Line
6、To(200,400);POINTpt[6]={{400,300},{500,300},{550,385},{500,460},{400,460},{350,385},};pDC->Polygon(pt,6);}实验结果如图3.编写单文档应用程序test,在视图中显示三个圆,通过使用不同颜色的画笔及画刷来模拟交通红绿灯。在MFC单文档onDraw函数中编写如下代码voidCTestView::OnDraw(CDC*pDC){CTestDoc*pDoc=GetDocument();ASSERT_VAL
7、ID(pDoc);//TODO:adddrawcodefornativedatahereCPen*OldPen,NewPen;CBrush*OldBrush,NewBrush;COLORREFrgb[]={RGB(255,0,0),RGB(255,255,0),RGB(0,255,0)};for(inti=0;i<3;i++){NewBrush.CreateSolidBrush(rgb[i]);OldBrush=pDC->SelectObject(&NewBrush);pDC->Ellipse(70
8、+100*i,70,150+100*i,150);NewBrush.DeleteObject();}}结果如下代码如下:voidCSy2_4View::OnDraw(CDC*pDC){CSy2_4Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereCPen*OldPen,NewPen;CBrush*OldBrush,NewBrush;COLORREFrgb[]={RG