我需要做一个系统,想做成象WORD一样的编辑功能,不知要如何才能实现,要求能插入图片和视频,所以不能光用富文本控件。不能那位朋友能给我一个建议。
我初步设想是这样:整个文档是由一些页组成。每个页由文字对象、图片对象、多媒体对象、图形对象组成。每个对象有自己的绘制方法,选中状态(编辑状态),以及序列化方法,在显示时,以页为刷新单位,在页显示刷新时,则调用页面所有对象的绘制方法。为了处理重叠关系,页面对象排列成一个链表,越后面表示越位于顶层。如某个对象修改了,则刷新在链表中位于它后面的所有对象,为提高刷新效率,每个对象提供一个重载方法,以判断一个矩形区、圆形,点是否与自身有重叠。如无重叠则不需要重绘。为了解决文字输入时获得焦点,在文字对象选中后,自动根据文字对象大小,替换成富文本对象,以供用户输入文本。不知这个方案行不?望高手指点哟。
我初步设想是这样:整个文档是由一些页组成。每个页由文字对象、图片对象、多媒体对象、图形对象组成。每个对象有自己的绘制方法,选中状态(编辑状态),以及序列化方法,在显示时,以页为刷新单位,在页显示刷新时,则调用页面所有对象的绘制方法。为了处理重叠关系,页面对象排列成一个链表,越后面表示越位于顶层。如某个对象修改了,则刷新在链表中位于它后面的所有对象,为提高刷新效率,每个对象提供一个重载方法,以判断一个矩形区、圆形,点是否与自身有重叠。如无重叠则不需要重绘。为了解决文字输入时获得焦点,在文字对象选中后,自动根据文字对象大小,替换成富文本对象,以供用户输入文本。不知这个方案行不?望高手指点哟。
解决方案 »
- byte[] filedatas = (byte[])dr["InqFile"];提醒无法将类型为“Systen.DBNll”的对象强制转换为类型“System
- 利用VS2010(C#)如何连接Oracle11g?
- C#调用问题
- DataGridView1怎么冻结指定行?指定单元格?
- 如何判断Process获得的程序属于哪个windows用户
- 6.1.3 为值类型实现 Equals 方法(Jeffrey Richter)
- C#数组 与DataTable 问题
- C# 实现文件到文件夹的拖放效果
- 关于listView 鼠标悬停获取当前Item问题
- 如果在c#中加入我自己的菜单?
- (c#)证则 去掉数字型后面多余的0
- 多多关注啊。。。。。。请高手们帮帮忙。 关于TreeView的。
http://www.codeproject.com/dotnet/WordInDotnet.asp