资源描述:
《MFC-Windows应用程序设计-第5章-MFC的通用类课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MFCWindows应用程序设计第5章MFC的通用类简单数据类5.1群体数据类5.2数据在文档/视图结构程序中的位置5.35.1简单数据类5.1.1点类CPointCPoint类带参数的常用构造函数原型如下:CPoint(intinitX,intinitY);CPoint(POINTinitPt);typedefstructtagPOINT{LONGx;//点的x坐标LONGy;//点的y坐标}POINT;5.1简单数据类5.1.1点类CPointvoidOffset(intxOffset,intyOffset);voidOffset(POINTpoint);op
2、erator+=给点补偿一个偏移(增加)voidoperator+=(SIZEsize);voidoperator+=(POINTpoint);operator-=给点补偿一个偏移(减少)operator==检查两个点是否相等operator!=检查两个点是否不等5.1简单数据类5.1.2尺寸类CSizeCSize类带参数的常用构造函数原型如下:CSize(intinitCX,intinitCY);CSize(SIZEinitSize);typedefstructtagSIZE{intcx;//水平大小intcy;//垂直大小}SIZE;5.1简单数据类5.1.3
3、矩形类CRectCRect类带参数的常用构造函数原型如下:CRect(intl,intt,intr,intb);CRect(constRECT&srcRect);CRect(LPCRECTlpSrcRect);CRect(POINTpoint,SIZEsize);CRect(POINTtopLeft,POINTbottomRight);typedefstructtagRECT{LONGleft;LONGtop;LONGright;LONGbottom;}RECT;5.1简单数据类成员函数功能说明intWidth()const;返回矩形的宽度intHeight()co
4、nst;返回矩形的高度CPoint&TopLeft();返回矩形左上角的点坐标CPoint&BottomRight();返回矩形右下角的点坐标CPointCenterPoint()const;返回CRect的中心点operator+=给CRect补偿一个偏移(增加)operator-=给CRect补偿一个偏移(减少)operator==检查两个矩形是否相等operator!=检查两个矩形是否不等5.1.3矩形类CRect5.1简单数据类成员函数功能说明BOOLPtInRect(POINT)const;确定指定的点是否在CRect之内voidInflateRect(i
5、nt,int,int,int);增加CRect的宽度和高度voidDeflateRect(int,int,int,int);减少CRect的宽度和高度BOOLIntersertRect(LPCRECTlpRect1,LPCRECTlpRect2);设置CRect等于两个矩形的交集BOOLUnionRect(LPCRECTlpRect1,LPCRECTlpRect2);设置CRect等于两个矩形的并集5.1.3矩形类CRect注意:在传递LPRECT、LPCRECT或RECT结构作为参数的任何地方,都可以使用CRect对象来代替。5.1简单数据类5.1.3矩形类CRe
6、ct练习:改善放大镜功能,使得只有鼠标在图片区域里才有放大效果。练习:每点击一次鼠标左键,使得窗口中的矩形自动放大。练习:吹泡泡程序提示:可以利用CWnd::GetClientRect获得CWnd客户区域的大小。voidGetClientRect(LPRECTlpRect)const;5.1简单数据类5.1.4字符串类CStringCString类支持字符串类型,并可通过CString类构造函数和一些运算符进行构造。CString类构造函数原型如下:CString();CString(constunsignedchar*psz);CString(constCStri
7、ng&stringSrc);CString(TCHARch,intnRepeat=1);CString(LPCTSTRlpch,intnLength);5.1简单数据类5.1.4字符串类CStringvoidEmpty();强制使字符串长度为0TCHARGetAt(intnIndex)const;返回在给定位置的字符voidSetAt(intnIndex,TCHARch);在给定位置设置一个字符intGetLength()const;返回字符串中字符的个数(不包括字符串结尾的结束符)intFind(TCHARch)const;intFind(LPCTSTRlp