- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VISUALCMFC编程XB
(4)画封闭曲线 Windows中提供了一组画封闭曲线的函数,包括绘制矩形、多边性、椭圆等,这些画封闭曲线的函数不但可以利用画笔来画出轮廓线,同时还可以利用画刷来填充这些封闭曲线所围成的区域。 (a) Rectangle()函数用来画矩形,函数原型说明如下: BOOL CDC:: Rectangle(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 其中,参数nLeftRect和 nTopRect给出了矩形左上角的坐标,而nRightRect和 nBottomRect则给出矩形的右下角坐标。 (b)Ellipse()函数的作用则是画椭圆形。在Ellipse()函数中,椭圆是由其外接矩形来确定的,外接矩形的中心与椭圆中心重合,矩形的长与宽和椭圆的长短轴相等。函数说明如下: BOOL CDC:: Ellipse(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 其中的参数说明与Rectangle()函数相同。 (c)RoundRect()函数用来画圆角矩形, 函数原型说明如下: BOOL CDC:: RoundRect(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect,int nWidth, int nHeight);其中的前四个参数与Rectangle()函数相同,nWidth表示圆角的宽度, nHeight表示圆角的高度。 (d) Polygon()函数用来画封闭的任意多边形,其函数原型说明如下: BOOL CDC:: Polygon((COUST POINT *lpPoints, int cCount); 其中的参数说明与Polyline()函数相同。但两个函数有区别,Polygon()函数会自动将起点和终点相连形成封闭的多边形,而Polyline()函数则画出多条折线,只有当最后一点与起点相同时才画出封闭的多边形。 示例,绘制矩形、圆角矩形、椭圆和多边形,程序如下: //绘制矩形、圆角矩形、椭圆和多边形 pDC-Rectangle(190,270,250,310); pDC-RoundRect(265,270,330,310,30,20); pDC-Ellipse(260-50,200-30,260+50,200+30); POINT polygonPts[3]={{390,160},{430,220}, {350,210}}; pDC-Polygon(polygonPts,3); (5) 画笔与画刷 当绘制图形时,线条的属性,包括颜色、宽度、样式等都是由画笔来确定的。程序员可以创建画笔,定义画笔的属性,从而画出多彩的图形。 创建画笔包括CreatePen()和CreatePenIndirect()两个函数。MFC将这些函数封装在CPen类中,这样画笔就能够被视为对象进行处理。下面介绍创建画笔的方法。 方法一:直接构造一个CPen对象,并将定义画笔的参数传给它,例如: CPen pen(PS_SOLID,1,RGB(255,0,0)); 创建一个宽度为一个像素、实线和红色的画笔。 方法二:首先声明一个没有初始化的CPen类对象,然后再用CreatePen()函数定义画笔的属性。例如, CPen Pen; Pen.CreatePen (PS_SOLID,1,RGB(255,0,0)); 方法三:先声明一个CPen类对象和一个描述画笔结构的LOGPEN类对象,并填入画笔的属性值,然后调用CreatePenIndirect()函数来创建画笔。如下所示: CPen Pen; LOGPEN LogPen; LogPen.lopnStyle=PS_SOLID; LogPen.lopnWidth=1; LogPen.lpenColor=RGB(255,0,0); Pen.CreatePenIndirect(LogPen); 画笔包括样式、宽度和颜色三个属性。下表列出了GDI画笔的样式。 int i1; int nPenStyle[]={PS_SOLID,PS_DASH,PS_DOT,PS_DASHDOT,PS_DASHDOTDOT,PS_NULL, PS_INSIDEFRAME}; CPen *pNewPen;
您可能关注的文档
最近下载
- 2025款比亚迪宋PLUS EV豪华尊贵旗舰型_用户手册驾驶指南车主车辆说明书电子版.pdf VIP
- 第1课《初三,我来了》课件北师大版心理健康教育九年级全一册.ppt
- 2023全域用户经营白皮书:STAR模型,从用户运营到生意增长.doc VIP
- NBT 35042-2014 水力发电厂通信设计规范.pdf
- 《小学英语单元整体作业设计的实践研究》开题报告.docx VIP
- “三个聚焦”内容个人自查报告.docx VIP
- 2024年充电宝市场现状分析:充电宝全球市场销售额达到224亿元.docx
- 各种烟气焓温、密度、比热计算表.xls VIP
- 考试妇科试题.docx VIP
- 德国科技创新与产业趋势.pptx VIP
文档评论(0)