



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4-5.请编写下列程序。要求如下:(1)定义一只红色画笔,绘制一个等边五边形(2)有不同的颜色的线条链接互不相邻的两个点(3)用不同颜色的画刷填充上述方法所形成图形中的每一个区域#include #include #include #include #define pi 3.1415926535long winapi wndproc(hwnd hwnd,uint imessage,uint wparam,long lparam);/消息处理函数声明.bool initwindowsclass(hinstance hinstance);/初始化窗口类声明bool initwindows(hins
2、tance hinstance, int ncmdshow);/初始化窗口声明.hwnd hwndmain;int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int ncmdshow)/主函数msg message;if(!initwindowsclass(hinstance)/初始化窗口类.return false;if(!initwindows(hinstance,ncmdshow)/初始化窗口.return false;while(getmessage(&message,0,
3、0,0)translatemessage(&message);/消息循环.dispatchmessage(&message);return message.wparam;long winapi wndproc(hwnd hwnd,uint imessage,uint wparam,long lparam)/消息处理函数.hdc hdc;/定义设备环境句柄.hbrush hbrush;/定义画刷句柄hpen hpen;/定义画笔句柄paintstruct ptstr;/定义包含绘图信息的结构体变量double r1=200.0,r2;/定义外部和内部正五边形外接圆半径.point outr5,i
4、nr5; /定义外,内正五边形点结构数组.point wsjx3,nsjx3; /定义三角形点结构数组.r2=r1*sin(0.1*pi)/sin(0.7*pi);/根据外圆半径计算内园半径./计算内外正五边形的点坐标.for(int i=0;i5;i+)outri.x=(long)r1*cos(i*0.4*pi)+300;outri.y=(long)r1*sin(i*0.4*pi)+300;inri.x=(long)r2*cos(i*0.4*pi+0.2*pi)+300;inri.y=(long)r2*sin(i*0.4*pi+0.2*pi)+300;switch(imessage)case
5、 wm_paint:/处理绘图消息.hdc=beginpaint(hwnd,&ptstr);/得到设备环境句柄setmapmode(hdc,mm_anisotropic);/设置映射模式.hpen=createpen(ps_solid,1,rgb(255,0,0);/创新红色画笔.selectobject(hdc,hpen);/将画笔选入.polygon(hdc,outr,5);/画外正五边形polygon(hdc,inr,5);/画内正五边形/填充正五边形的不同区域.for(i=0;i5;i+)wsjx0=outri%5;/生成图形中的三角形区域的坐标.wsjx1=inri%5;wsjx2=
6、outr(i+1)%5;/创新新画刷.hbrush=createsolidbrush(rgb(i*10,i*20,i*30);selectobject(hdc,hbrush);/选入新画刷.polygon(hdc,wsjx,3);/画三角形区域.nsjx0=outri%5;nsjx1=inri%5;nsjx2=inr(i+4)%5;hbrush=createsolidbrush(rgb(255-i*10,200-i*20,255-i*30);/创新画刷.selectobject(hdc,hbrush);/选入画刷.polygon(hdc,nsjx,3);/画三角形区域.hbrush=creat
7、esolidbrush(rgb(255,255,255);/创新白画刷.selectobject(hdc,hbrush);/选入画刷.polygon(hdc,inr,5);/画中心的五边形./用不同种颜色的画笔来绘制五角星.movetoex(hdc,outr0.x,outr0.y,null);for(i=1;i=5;i+)hpen=createpen(ps_solid,1,rgb(0,i*51,0);selectobject(hdc,hpen);lineto(hdc,outr(i+2)%5.x,outr(i+2)%5.y);deleteobject(hpen);/删除画笔.deleteobje
8、ct(hbrush);/删除画刷.endpaint(hwnd,&ptstr);/结束绘图.return 0;case wm_destroy:/处理关闭窗口信息.postquitmessage(0);/向应用程序发送wm_quit消息.return 0;default:return(defwindowproc(hwnd,imessage,wparam,lparam);bool initwindows(hinstance hinstance, int ncmdshow)/初始化hwnd hwnd;/定义窗口句柄.hwnd=createwindow(polygon,/窗口类名.飞哥五边形,/窗口实例
9、标题.ws_overlappedwindow,/窗口风格.带边框,标题栏,系统菜单和最大和最小按钮.cw_usedefault,/窗口左上角坐标.0,/窗口左上角坐标.cw_usedefault,/窗口宽度0,/窗口高度null,/无父窗口.null,/无主菜单.hinstance,/创建此窗口的应用程序的当前句柄.null);/指向一个传递给窗口的参数值从指针./不使用该值.if(!hwnd)/如果窗口创建失败,返回false.return false;hwndmain=hwnd;/将窗口句柄传递给全局变量.showwindow(hwnd,ncmdshow);/显示窗口.updatewind
10、ow(hwnd);/更新并绘制用户区.return true;bool initwindowsclass(hinstance hinstance)/初始化窗口类.wndclass wndclass;/定义窗口类.wndclass.cbclsextra=0;/窗口类无扩展.wndclass.cbwndextra=0;/窗口实例无扩展.wndclass.hbrbackground=(hbrush)(getstockobject(white_brush);/窗口背景为白色.wndclass.hcursor=loadcursor(null,idc_arrow);/窗口采用箭头光标.wndclass.hicon=loadicon(null,idi_application);/窗口的最小化图标为缺省图标.wndclass.hinstance=hinstance;/当前实例句柄.wndclass.lpf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕业实习答辩
- 2024广告设计师目标定义题目试题及答案
- 赤峰语文面试题目及答案
- 2024年广告设计师的学习内容规划试题及答案
- 2024年纺织品检验员模拟题分析试题及答案
- 2024年纺织品设计师证书考试前沿问题试题及答案
- 安利培训测试题及答案
- 2024年纺织品检验员考试规范及要求解读试题及答案
- 助理广告师考试背景知识掌握试题及答案
- 图形认识考试题及答案
- 单片机原理及应用知到智慧树章节测试课后答案2024年秋温州医科大学
- 《中美经济实力对比》课件
- DB32-T 4443-2023 罐区内在役危险化学品(常低压)储罐管理规范
- 足疗养生门店礼仪培训
- 乒乓球教学课件
- DB1503∕T 01-2018 矿山排土场连片治理规范
- 【中职】8完整版本.4.1-圆的标准方程
- 2024秋期国家开放大学《可编程控制器应用实训》一平台在线形考(形成任务3)试题及答案
- DB13-T 5722-2023 医院感染应对策略与质量控制
- 2《归去来兮辞并序》公开课一等奖创新教案统编版高中语文选择性必修下册
- 中国矿业大学《自然辩证法》2022-2023学年期末试卷
评论
0/150
提交评论