面现对象与可视化程序设计(黄维通第二版)4-5代码

面现对象与可视化程序设计(黄维通第二版)4-5代码

ID:1813746

大小:41.00 KB

页数:4页

时间:2017-11-13

面现对象与可视化程序设计(黄维通第二版)4-5代码_第1页
面现对象与可视化程序设计(黄维通第二版)4-5代码_第2页
面现对象与可视化程序设计(黄维通第二版)4-5代码_第3页
面现对象与可视化程序设计(黄维通第二版)4-5代码_第4页
资源描述:

《面现对象与可视化程序设计(黄维通第二版)4-5代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、4-5.请编写下列程序。要求如下:(1)定义一只红色画笔,绘制一个等边五边形(2)有不同的颜色的线条链接互不相邻的两个点(3)用不同颜色的画刷填充上述方法所形成图形中的每一个区域#include#include#include#include#definePi3.1415926535longWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam);//消息处理函数声明.BOOLInitWindowsClas

2、s(HINSTANCEhInstance);//初始化窗口类声明BOOLInitWindows(HINSTANCEhInstance,intnCmdShow);//初始化窗口声明.HWNDhWndMain;intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow)//主函数{MSGMessage;if(!InitWindowsClass(hInstance))//初始化窗口类.returnFALSE;if(!InitWindows

3、(hInstance,nCmdShow))//初始化窗口.returnFALSE;while(GetMessage(&Message,0,0,0)){TranslateMessage(&Message);//消息循环.DispatchMessage(&Message);}returnMessage.wParam;}longWINAPIWndProc(HWNDhWnd,UINTiMessage,UINTwParam,LONGlParam)//消息处理函数.{HDChDC;//定义设备环境句柄.HBRUSHhBrush;//定义画刷句柄HPENh

4、Pen;//定义画笔句柄PAINTSTRUCTPtStr;//定义包含绘图信息的结构体变量doubleR1=200.0,R2;//定义外部和内部正五边形外接圆半径.POINTOutR[5],InR[5];//定义外,内正五边形点结构数组.POINTWSJX[3],NSJX[3];//定义三角形点结构数组.R2=R1*sin(0.1*Pi)/sin(0.7*Pi);//根据外圆半径计算内园半径.//计算内外正五边形的点坐标.for(inti=0;i<5;i++){OutR[i].x=(long)R1*cos(i*0.4*Pi)+300;OutR

5、[i].y=(long)R1*sin(i*0.4*Pi)+300;InR[i].x=(long)R2*cos(i*0.4*Pi+0.2*Pi)+300;InR[i].y=(long)R2*sin(i*0.4*Pi+0.2*Pi)+300;}switch(iMessage){caseWM_PAINT://处理绘图消息.hDC=BeginPaint(hWnd,&PtStr);//得到设备环境句柄SetMapMode(hDC,MM_ANISOTROPIC);//设置映射模式.hPen=CreatePen(PS_SOLID,1,RGB(255,0,0

6、));//创新红色画笔.SelectObject(hDC,hPen);//将画笔选入.Polygon(hDC,OutR,5);//画外正五边形Polygon(hDC,InR,5);//画内正五边形//填充正五边形的不同区域.for(i=0;i<5;i++){WSJX[0]=OutR[i%5];//生成图形中的三角形区域的坐标.WSJX[1]=InR[i%5];WSJX[2]=OutR[(i+1)%5];//创新新画刷.hBrush=CreateSolidBrush(RGB(i*10,i*20,i*30));SelectObject(hDC,h

7、Brush);//选入新画刷.Polygon(hDC,WSJX,3);//画三角形区域.NSJX[0]=OutR[i%5];NSJX[1]=InR[i%5];NSJX[2]=InR[(i+4)%5];hBrush=CreateSolidBrush(RGB(255-i*10,200-i*20,255-i*30));//创新画刷.SelectObject(hDC,hBrush);//选入画刷.Polygon(hDC,NSJX,3);//画三角形区域.hBrush=CreateSolidBrush(RGB(255,255,255));//创新白画刷

8、.SelectObject(hDC,hBrush);//选入画刷.Polygon(hDC,InR,5);}//画中心的五边形.//用不同种颜色的画笔来绘制五角星.M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。