热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

小巧可爱的MiniDraw

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

       上文用于演示的程序名叫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


推荐阅读
author-avatar
zhaoxiao2012_549
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有