技术白皮书

(初稿)

 

 

 

袁永福

2007-11-5

 

 

 

 

 

 

前言

 

yyf9989@hotmail.com

电子邮件yyf9989@sohu.com

袁永福个人 站http://www.xdesigner.cn

基本概念

微软.NET图形开发

微软.NET平台是微软主导的软件开发平台,一定程度上代表着国际软件业的先进生产力,微软.NET提供了很多先进的特性,其中包括了相当强的图形开发功能。

虽然微软.NET对图形开发提供了更强的支持,仍然保留了对传统的Win32API/GDI的支持,在少数情况下仍然可以调用Win32API/GDI来实现一些图形效果,比如屏幕像素的反色,光标的处理,文字输入法的控制。

文档对象模型

文档对象模型是面向对象编程思想在处理复杂文档的一个范例,其基本工作原理是:使用一个个内存中的编程对象映射到文档中的某个部分或元素,比如使用一个字符元素对象映射到文档中的一个字符,图片元素对象映射到文档中的一个图片。则应用程序读取和修改内存中的编程对象的数据,经过这些映射关系就转化为读取和修改文档内容。

RTF文档格式

RTF文档存储格式比较简单,但内容比较多,它使用一对花括 来定义一个标签组,标签组可以套嵌定义,使用一个斜线 “”来开始定义一个标签或指令。RTF文档中就使用这种简单的标签格式来定义文字,段落和图片等信息。

关于RTF文档格式的详细内容可参考微软提供的RTF文档技术手册。

 

XWriterLib介绍

XWriterLib开发背景

XWriterLib介绍

  1. 和微软.NET软件无缝集成的能力。XWriterLib完全用C#开发,全部采用托管代码来实现,因此可以和任何基于.NET平台的软件进行无缝集成,从而进行密切的协同工作。应用系统可以使用C#,VB.NET,C++.NET,DELPHI.NET或其他支持.NET的语言进行开发,但都可以轻松的调用XWriterLib。XWriterLib暂不支持MONO。

 

XWriterLib技术说明

XWriterLib涉及到了很多的计算机软件开发技术,其中包含了不少高级开发技术,此处对其中的某些技术进行说明,方便开发者了解一些XWriterLib内部的技术细节,使得能更充分的调用XWriterLib的能力。

XWriterLib文档对象模型

XDOM内部建立了一个树状结构来详细描述文档结构,包括文档结构框架和各种细节信息,而且考虑到二次开发而开放了很丰富的编程接口,该接口的开放程度远大于MS Word或RichTextBox的编程接口。开发者可以使用XDOM接口来访问文档中的任何信息,而且可以在标准的XDOM上面派生出自定义的文档元素类型,新的文档元素类型可以扩展或重新定义标准文档元素的内容,图形样式和操作特性。

XDOM中比较重要的文档元素类型有

XTextElement文档元素基础类型

本类型是文档元素基础类型,所有的文档元素类型,包括XWriterLib中已经定义的文档元素类型还是未来开发者自定义的元素类型,必须是直接或间接的从XTextElement继承过来的。该类型定义了一些文档元素的通用接口,还包括文档元素在文档中的位置大小等基本信息。开发者可以使用这种类型来遍历文档中任意对象。

该类型是抽象类型(在C#中为 abstract 类型),因此不能实例化,只能从其上面派生出实际使用的文档元素类型,派生的类型需要重载其中的某些成员,用于支持自己的绘制过程和操作特性。

XTextElementContainer 容器元素类型

本类型是直接从XTextElement上派生的元素类型,它内部能放置若干个其他的文档元素,还能放置其他的容器元素。

XTextDocument 类型

XTextElement,XTextElementContainer和XTextDocument三种类型共同构成了XDOM的基本框架,形成已一个已XTextDocument为根节点的树状结构。外部程序以XTextDocument为入口点来访问整个XDOM。

 

在XDOM的基本框架上,XWriterLib还定义了一些常用的文档元素类型,主要有

XTextChar字符类型

XTextChar文档元素类型表示文档中的某一个字符,包括空白字符,文档中所有的字符都对应于一个XTextChar对象,因此应用程序可以使用XTextChar类型来快速而精确的访问文档中的任何字符,可以获得和修改单个字符的显示样式,包括字体,颜色,上下标等设置。

XTextImage 图片类型

XTextImage文档元素类型表示文档中的某个图片,并支持鼠标拖拽来改变图片大小。

XTextBookmark书签元素类型

XTextBookmark书签元素类型插入在文档中的某个地方,用于用户快速切换到书签所在的文本部分。

XTextParagraph 段落元素,XTextParagraphEOF 段落结尾类型

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年4月20日
下一篇 2012年4月20日

相关推荐