C画图板的论文

C画图板的论文

ID:44416164

大小:472.34 KB

页数:38页

时间:2019-10-21

C画图板的论文_第1页
C画图板的论文_第2页
C画图板的论文_第3页
C画图板的论文_第4页
C画图板的论文_第5页
资源描述:

《C画图板的论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC++课程设计班级:09计算机1班姓名:洪海洋学号:200901030121日期:2011年7月VC++课程设计设计目的:1.掌握用VC++6.0开发环境开发软件的方法;2.熟悉获得帮助的方法;3.拿握SDI应用程序结构,熟悉基于对话框的应用程序编程方法;4.掌握用资源编辑器进行图标,菜单,工具栏,对话框等资源的编辑;5.掌握对话框,常用控件和ActiveX控件的使用方法;6.熟悉文档/视图结构,掌握文档和视图的相互控制技巧;设计选题:开发一个小型绘图应用程序,具体要求如下:1•具有标准Windows应用程序

2、的界而和风格(视图耍求滚动);2.通过选择菜单或工具栏中相应功能完成基木几何图形的绘制(基木几何图形包括直线、圆、椭圆、矩形、多边形、扇形、弧等);3.几何图形实现存盘和读取显示功能;4.应用程序界面友好。设计思路:用于表征这些几何图形对象的数据是不同的,他们都冇颜色、线形和线宽三个属性数据,但几何数据又各不相同。直线、椭圆和矩形用两个坐标点数据表示,扇形和弧用四个坐标点数据表示。另外对于封闭图形,还可以有填充与不填充的选择。我们知道在VC卄中,如果在基类定义把成员函数说明为虚函数,在派生类只对虚函数的函数体内

3、容重新定义,保留函数名、返回值类型和参数不变,用一个指向基类的指针访问虚函数,就可以实现多态性。所以,首先定义各个儿何图形类。在每个类中定义口己的儿何数据,定义构造函数生成各自的图形对彖,用来实现各自不同的数据序列化和屏幕重绘。其次,在文档类中定义一个用来保存各二维图形对象指针的数组CDiffArrayo再次,修改OnDraw成员函数,以实现虚函数的多态性。最后,实现不同图形对象的保存和重绘。另外,用户界面包描菜单和工具两栏。在菜单栏添加图形菜单和所属菜单项。最后运行结果如下:附录:源程序清单//CLine直线

4、定义classCLine:publicCObject{DECLARE_SERIAL(CLine)public:boolblsSelected;intstartX;intstartY;intendX;intendY;LOGPENLinePen;CLine();virtual〜CLine();voidScrializc(CArchivc&ar);};//CArc圆弧定义classCArc:publicCObjcct{DECLARE_SERlAL(CArc)public:boolblsSelected;intstai

5、lX;intstartY;intendX;intendY;LOGPENLinePen;CArc();virtual~CArc();voidSerialize(CArchive&ar);public:CDiffcrdiffA;CDifferdiffB;};//CRectangle矩形定义classCRectangle:publicCObjectDECLARE_SERIAL(CRcctanglc)public:boolblsSelected;intstartX;intstartY;intcndX;intendY;L

6、OGPENLinePen;LOGBRUSHMyBrush;voidSerialize(CArchive&ar);CRectangle();virtual-CRectangle();};//CPoloygon多边形定义classCPoloygon:publicCObject{DECLARE_SERIAL(CPoloygon)public:boolblsSelected;intstartX;intstartY;intendX;intcndY;CDiffArraydiffArray;LOGPENLinePen;CPo

7、loygon();virtual〜CPoloygon。;voidSerialize(CArchive&ar);};//CPie扇形定义classCPie:publicCObject{DECLARE_SERIAL(CPie)public:boolblsSclcctcd;intstartX;intstartY;intcndX;intendY;LOGPENLinePen;LOGBRUSHMyBrush;CPie();virtual〜CPie();voidSerialize(CArchive&ar);public:CD

8、ifferdiffA;CDifferdiffB;};//CEllipsefffilwl形定义classCEllipse:publicCObject{DECLARE_SERIAL(CEllipse)public:boolblsSelected;intstartX;intstartY;intendX;intcndY;LOGPENLinePen;LOGBRUSHMyBrush;CEllips

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。