欢迎来到天天文库
浏览记录
ID:52182203
大小:90.50 KB
页数:28页
时间:2020-04-02
《案例3:渐变背景色.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、案例3:渐变背景色2021/7/211成都信息工程学院计算机学院需求与目标我们使用电脑长时间工作以后,都会感到非常疲劳此时,如果应用程序能够在我们工作一段时间后,自动为背景更换一些靓丽的颜色,生成一些美丽的图画,能够起到调节气氛,消除一些疲劳的作用2021/7/212成都信息工程学院计算机学院手段渐变色的实现有多种方法,许多资料介绍了利用调色板的方法实现但是其过程极其复杂,需要我们具有一定的图形编程的基础2021/7/213成都信息工程学院计算机学院手段我们用一种比较简单的方法来实现,即使你一点都不了解图形编程和调色板的概念也没有问题2021/7/214成都信息工程学院计算机学院手段绘制渐
2、变色的方法实际上是通过填充一系列颜色逐渐变化的矩形来实现颜色渐变效果的2021/7/215成都信息工程学院计算机学院编程步骤(1)用AppWizard建立一个单文档工程ShadowView(SDI)2021/7/216成都信息工程学院计算机学院编程步骤(2)为CShadowViewView添加两个成员变量:private:intColorR;//记录红色成分intColorG;//记录绿色成分2021/7/217成都信息工程学院计算机学院编程步骤(3)在CShadowViewView的构造函数中初始化这两个变量:ColorR=ColorG=255;2021/7/218成都信息工程学院计算机
3、学院编程步骤(4)在OnDraw()中添加代码:CRectrcClient;GetClientRect(&rcClient);intnWidth=rcClient.Width();intnHeight=rcClient.Height();CRectrectangle;for(inti=0;iFillSolidRect(&rectangle,RGB(ColorR,ColorG,255-MulDiv(i,255,nWidth)));}2021/7/219成都信息工程学院计算机学院CView
4、::OnDrawvirtualvoidOnDraw(CDC*pDC)=0;pDCPointstothedevicecontexttobeusedforrendering(着色)animageofthedocument.2021/7/2110成都信息工程学院计算机学院RemarksCalledbytheframeworktorenderanimageofthedocument.Theframeworkcallsthisfunctiontoperformscreendisplay,printing,andprintpreview,anditpassesadifferentdeviceconte
5、xtineachcase.Thereisnodefaultimplementation.Youmustoverridethisfunctiontodisplayyourviewofthedocument.Youcanmakegraphicdeviceinterface(GDI)callsusingtheCDCobjectpointedtobythepDCparameter.YoucanselectGDIresources,suchaspensorfonts,intothedevicecontextbeforedrawingandthendeselectthemafterwards.Ofte
6、nyourdrawingcodecanbedevice-independent;thatis,itdoesn’trequireinformationaboutwhattypeofdeviceisdisplayingtheimage.2021/7/2111成都信息工程学院计算机学院CDCTheCDCclassencapsulates(装入胶囊,压缩)thefunctionalityofaWindowsdevice-context,whichisaGDI-managedstructurecontaininginformationabouttheoperatingmodesandcurrents
7、electionsofadevice,suchasadisplayorprinter.HeaderFile:Afxwin.h2021/7/2112成都信息工程学院计算机学院CDC::FillSolidRectvoidFillSolidRect(LPCRECTlpRect,COLORREFclr);lpRectSpecifiestheboundingrectangle(inlogicalunits).Youcanpasse
此文档下载收益归作者所有