小巧可爱的MiniDraw

来源:互联网 发布:昆仑大数据 编辑:程序博客网 时间:2024/04/28 05:44

       上文用于演示的程序名叫MiniDraw,也许你已有所察觉――这应该是一个画图程序。不错,我的实验品就是经典的画图程序,并且这几天我已经把它编写出来了。这是一个小巧可爱的画图程序,麻雀虽小,五脏俱全,屏幕截图如下:

       从图中可以看出,每个图形就是一个对象,支持各种属性设置,以及鼠标拖拉。我将MiniDraw能做的事情列举了出来:

l         存盘读盘,这依赖于MFC序列化的强大威力。

l         鼠标拖拉图形对象,为了不至于引来一大堆复杂的问题,我将拖拉的图形限定为一个,即你只能选中一个图形。

l         设置图形的各种属性,例如填充色,线条宽度,叠放次序等。

l         可设置画布的填充色,以及最小尺寸,如果小于这个尺寸,将出现滚动条。

 

当然,以一个专业程序的角度来看,MiniDraw局限性也非常的大:

l         不能进行剪贴板的操作,不能进行撤消重做,其实这涉及到数据层的设计,这是一个高层次的主题,像这样的小程序就免了吧。

l         图形类型比较少,只有三种。

l         图形的创建过程比较简陋,点击工具栏按钮时直接创建,没有经过鼠标的操作来创建。

l         图形不能多选。

l         程序的整体设计比较随意,扩展性不够强。

 

我得为自己辩护一下,时间太少了,这个小程序是晚上编写的,前后只有一个星期,而且是用代码+资源的方式完成的。所以,做到这个程度也差不多了吧,如果你觉得哪里不好,可以随意修改之,有一些明显改进的话,可否通知我一下,让我也拜读一下。

MiniDraw可能会有下一个修改版本,这是我初步的改进计划:

l         对创建过程的改进,支持鼠标拖拉创建。

l         增加几个图形:多边形,曲线,自由线。

l         主窗口增加多标签。

l         图形支持多选。

l         对图形的点击测试进行优化。

我不保证这些修改都能完成,这要看是否有足够的时间,如果时间允许,过年之前应该可以发上来,敬请期待。

 

MiniDraw涉及到一些技术,包括序列化,GDI绘制,通用控件的使用,这些都将作为以后文章的主题。

你可以从这里下载MiniDraw,体会一下它的小巧可爱:

http://download.csdn.net/source/318010

原创粉丝点击