可以作为课程设计的程序,实现简单的绘图,移动图形的功能。
使用vc框架实现。
GHpaint程序的几个重点
程序的基本功能:
程序提供绘图、删除已绘图形、移动已绘图形。
可以选择绘图颜色、形状、线粗。
重点问题:
1、 程序设计基于面向对象。
程序中所有图形都从基类CShapebase派生,大部分工作(例如:删除、移动等)都在这个基类中完成。此类中的两个纯需函数:
//纯需函数DrawShape,每个基类都必须实现的函数。
//指定不同图形的绘制方法。
virtual void DrawShape(CDC* pdc) = 0;
//橡皮筋效果的算法函数
virtual void ZoomShape(CDC *pdc) = 0;
这两个函数需要在派生类中重载。这两个函数中主要实现不同图形的绘制方法。
也就是说,不同图形的不同点只有绘制方法不同,其他所有属性和行为都可以统一处理。
这里的继承体现了面向对象的设计,论文中可以体现这一点。
2、 动态模板库对象CPtList的使用,动态模板库基础知识。
CPtList是动态模板库的一个实例化类。功能是以链表形式保存指针,至于指针类型不做要求,需要程序员自己设计。
本程序CPtList对象中