首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免在从字节数组填充TXTextControl时丢失文本的格式?

如何避免在从字节数组填充TXTextControl时丢失文本的格式?
EN

Stack Overflow用户
提问于 2013-10-04 07:22:35
回答 1查看 808关注 0票数 1

我有许多小的“模板”样式的TXTextControl文档,我将这些文档组合在一起构建一个大型文档。

模板是使用TXTextControl在我的应用程序中创建的,内容作为字节数组存储在使用TXTextControl InternalFormat的数据库中。

我检索每个模板文档并构建一个新文档,使用选择类加载每个模板文档的内容如下;

代码语言:javascript
复制
tx.Selection.Load(myContent, BinaryStreamType.InternalFormat);

myContent是从数据库中读取的Byte数组。

大多数模板文档只是一行,但在它们中有一些选项卡被修改,并且可能是居中的、对齐的等等。

我注意到的是,如果每个小文档以linefeed结尾(即用户在保存之前点击输入文档),模板文档将正确插入。

如果没有行提要,则选项卡和正当性将丢失。如果“模板文档”超过一行,则只丢失最后一行的格式。

更糟糕的是,如果模板文档的最后位置有一个TextField,那么在这个模板文档之后插入到我的新文档中的所有内容都会被插入,就好像它是TextField中的文本一样,这使得新文档看起来很糟糕。

是否可以从字节数组中向TXTextControl InternalFormat样式文本插入少量内容,并确保其插入与创建时完全相同?

或者,我是否可以强制我使用的字节数组被正确地终止-使用一个CR.LF或什么东西强制它被正确地插入。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-07 22:59:43

我找到的唯一“解决办法”就是在插入的文档之后追加一条新行。

不过,这只在直接使用TXTextControl.TextControl对象构建文本时起作用,而不是对属于TextControl对象的选择对象的引用。

这是可行的;

代码语言:javascript
复制
TXTextControl.TextControl tx = new TXTextControl.TextControl();
tx.CreateControl();

tx.Selection.Start = -1;
tx.Selection.Text = System.Enviornment.NewLine;

但是,将一个选择对象传递到流程中,并在其选择对象中传递它来构建文档,这是行不通的。原始控件的格式(以及它的选择)是被维护的,我想这可能是有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19175543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档