泰山OFFICE技术讲座:域在MODEL的存储结构

  什么是域?比如插入页码(会页自动变化)就是域。域有两种形态:正常形态,比如显示当前页码;内容形态,比如显示{PAGE \* MERGEFORMAT}(通过ALT+F9切换)。这种显示与内容有差异,自然就会问:怎么存储?有两种方案:

  • 内容与描述分开

在存储时,只存一个长度为1的叶子,通过属性表示这是个域,用于显示什么,内容是什么。

好处是存储简单,布局处理简单(可以简单当作图片,具体内容由叶子处理)。

坏处是如果发生切换,布局麻烦,如果遇到断行更麻烦。

  • 直接存储内容

存一个叶子,内容为PAGE那一串(差异),通过属性标记为页码信息。利弊正好与前一个方案相反。

存储管理麻烦,布局非常麻烦。莫名其妙的跳转很容易出错。

如果断行很方便。

  吾主张采用第一个方案。至于显示内容,有几种做法:

禁止切换功能。可以通过右键显示出相关信息。

在布局时采用叶子分断方案解决断行问题。即使麻烦,也不比方案2麻烦。

猜你喜欢

转载自blog.csdn.net/quantum7/article/details/125292424