面向对象程序设计第7章.pptVIP

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

第2章VisualC++6.0开发环境【例7-4】画刷的应用。(1)用MFCAppWizard创建一个名称为ex7-4的单文档应用程序框架。(2)在视图类的函数OnDraw中输人如下代码:voidCEx7_4View::OnDraw(CDC*pDC){ CEx7_4Doc*pDoc=GetDocument(); ASSERT_VALID(pDoc); //TODO:adddrawcodefornativedatahereintred=0,green=0,blue=0;introw=10;intstyle[]={HS_BDIAGONAL,HS_CROSS,HS_DIAGCROSS,HS_FDIAGONAL,HS_HORIZONTAL,HS_VERTICAL};for(ints=0;s6;s++){ intclr=RGB(red,green,blue); CBrushnewBrush(style[s],clr); CBrush*oldBrush=pDC-SelectObject(newBrush); pDC-Rectangle(20,row,200,row+10); pDC-SelectObject(oldBrush); row+=20;}}7.5绘图模式在Windows中,绘图的最终效果可以通过设定不同的绘图模式来修饰。绘图模式决定新绘制的图形与屏幕上原有内容的逐位交互关系。例如以黑色画笔画线,当所画线经过屏幕上的一块黑色区域时,线将不可见,通过设置绘图模式可以让线在经过黑色区域时自动变为白色,从而达到可见的目的。设置绘图模式的CDC成员函数为:SetROP2(intnDrawMode);其中,参数nDrawMode为欲设置的绘图模式,返回值为原来的绘图模式。绘图模式的选项范围从完全忽略屏幕显示内容用画笔简单地画图到完全忽略画笔仅保留屏幕内容。Windows有16种不同的绘图模式代码绘图模式R2_BLACK无论画笔颜色如何,只用黑色绘图R2_WHITE无论画笔颜色如何,只用白色绘图R2_NOP无论画笔颜色如何,只用无色绘图R2_NOT用与背景色相反的颜色绘图R2_COPYPEN用画笔颜色绘图R2_NOTCOPYPEN用与画笔色相反的颜色绘图R2_MERGEPENNOT像素颜色=((NOT屏幕颜色)OR笔颜色)R2_MASKPENNOT像素颜色=((NOT屏幕颜色)AND笔颜色)R2_MERGENOTPEN像素颜色=((NOT笔颜色)OR屏幕颜色)R2_MASKNOTPEN像素颜色=((NOT笔颜色)AND屏幕颜色)R2_MERGEPEN像素颜色=(笔颜色OR屏幕颜色)R2_NOTMERGEPEN像素颜色=NOT(笔颜色OR屏幕颜色)R2_MASKPEN像素颜色=(笔颜色AND屏幕颜色)R2_NOTMASKPEN像素颜色=NOT(笔颜色AND屏幕颜色)R2_XORPEN像素颜色=(笔颜色XOR屏幕颜色)R2_NOTXORPEN像素颜色=NOT(笔颜色XOR屏幕颜色)如果用R2_NOT绘图模式,它简单地以逐位方式改变屏幕上的显示。用此画笔绘图时,白色将变为黑色,黑色将变为白色。如果用它再一次绘制同一条直线,它将擦除直线,并恢复原来屏幕颜色。获得绘图模式的CDC成员函数为:intGetROP2()const;此函数返回当前的绘图模式。7.6常用CDC类绘图函数CDC类封装了大量的绘图函数,下面介绍常用的函数。1.画点函数SetPixelSetPixel()函数用于画点,它有两个重载版本,函数原形如下:COLORREFSetPixel( intX,//参数X为点的横坐标 intY,//参数Y为点的纵坐标 COLORREFcrColor//参数crColor为点的颜色)COLORREFSetpixel( POINTpoint,//参数point为点位置的POINT类型变量 COLORREFcrColor)SetPixel()函数的返回值是实际所画点的颜色,若操作失败(如指定的点位置在客户区之外),则返回l。2.设置画笔当前位置的函数MoveTo的原型如下:CPointMoveTo( intX,//参数X、Y指定当前点的新位置 intY)CPointMoveTo( POINT

文档评论(0)

趁早学习 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档