我说的图形文本编辑器就是不用windows控件如editbox,richedit之类实现文档编辑,不是纯文本编辑。
要实现图形绘制,象visio那样;要能画表格,象word那样;要能导出html,象word那样。
以后要在此基础上实现表单绘制和流程绘制。
程序目前完成了一小部分:
http://www.cppblog.com/Files/aqazero/BrentEditor_demo.zip实现的功能有:
1) 编辑文本
双击可编辑对象,将进入编辑模式。在编辑模式下按ESC或者单击不可编辑对象,将退出编辑模式。按住鼠标移动可以选择文本,实现了上下左右键的navigation,实现了回车分段。
没有实现对英语单词整个单词的处理。分行会发生在单词的任何部分。主要考虑面对的是中文用户。
2) 绘制DIV,按工具栏上的方框,直接在画布上点击拉动。
3) 支持无限undo/redo,Ctrl+Z Ctrl+Y
4) 支持文本的复制粘贴, Ctrl+C Ctrl+V ,剪切未实现。
5) 可以导出到html文件,菜单File - export html
导出html后,排版可能和程序不同。
6) 实现了保存读取
保存的文件其实是个压缩文件。
7)实现了部分table功能
要调整表格之前,请先选择定某单元格。
“绘制表格”功能目前还未支持undo/redo
8) 目前的画布布局为 flow,对象的位置由flow算法决定,所以只能调整大小,不能调整位置。
下一步将实现的是:
1) 绘制table
2) 更改字体
3) 更改DIV、cell边框属性,设置填充颜色
4) 实现absolute定位
5) 实现折线绘制,以及智能连线(象viso中那样连接两个对象,自己拐弯的折线)
...
然后就是绘制workflow,连接数据库等等了。
...