介绍
一个老同事的小项目要验收,还差一个演示程序,我正好闲着呢,花了将近2个月的时间用VC搞出来的。
主要功能:
- 1、项目管理:演示数据文件新建、编辑、保存、打开
- 2、Grid界面编辑:
增/删/改
批量插入(区域三种分布:随机、正态、指数)
数据导入/导出
排序 - 3、图形界面编辑:
鼠标点选插入单个数据
拖拽区域插入(区域三种分布:随机、正态、指数)
鼠标点选单个数据点或拖拽选择多个数据
选中数据点拖拽修改
选中数据点删除/复制 - 4、算法运行演示
K-means和DBSCAN算法
算法执行过程动态显示:数据选中、测量、聚类
算法执行过程中间数据展示
连续动画、单步执行演示
软件截屏:
-
Grid编辑
-
图形编辑
-
批量插入
-
K-means算法演示
-
DBSCAN算法演示
设计与实现
作为一个老程序员,以前一直专注于底层应用的开发,真正用的得心应手的还是C/C++,有这个机会再用C/C++也很开心。
这个小东西本来想用Qt来做,但项目的前期报告中技术要求已明确写了基于VC实现,也就没办法了。VC真正有好几年没用过了,大概的机制还没全忘掉,但对一些函数、方法、接口记忆都比较模糊了。做完这个小东西,自己认为在“时间紧任务重”的条件下实现的还算不错。下面准备从这几个方面介绍下这个小东西的实现过程:
- 文件管理:项目数据文件结构,Doc-View交互
- 整体界面效果:BCG库使用,Grid/绘图界面组合
- 绘图界面:绘图工具效果实现,ScrollView绘制,基于SpliteWnd的标尺实现
- 算法演示设计:界面效果设计,算法演示机制设计(状态机,通用基类,单步,动画任务)
待续
不知道现在新生代的程序员还有没有搞VC的了,估计很少了吧!Web时代单机版的东西太少了,如果有人感兴趣一块儿看看吧!