TDBrichedit显示纯文本而不是富文本

时间:2018-07-27 15:26:52

标签: delphi bde

上下文是,我正在使用BDE维护在delphi 7上运行的应用程序。我以编程方式分配dbricheditcontrols的数据字段,以允许用户编辑rtf文档。当相关表格打开时,将显示未格式化的文本,然后说此人移至下一个文档时,富文本突然加入;我怀疑这一定是某种初始化问题,但我缺少什么?无法在线找到解决方案。

谢谢

1 个答案:

答案 0 :(得分:5)

通常,我不会发布一个陈述q的答案

  

我以编程方式分配dbricheditcontrols的数据字段,以允许用户编辑rtf文档

但未包含您正在使用的代码-您应该提供了MCVE(请参见https://stackoverflow.com/help/mcve)。

但是,您的建议暗示您可能正在尝试以错误的方式进行操作。您说您正在使用TDBRichEdit组件,但是如果正确使用它,则它不需要对数据字段进行任何编程分配即可:您只需要通过以下方式将组件连接到正在使用的TTable或TQuery: TDataSource组件,并将DBRichEdit配置为访问TTable / TQuery中存储RichEdit文本的任何字段。可以在设计时使用IDE中的对象检查器来设置属性,而无需任何代码。

因此,在我看来,您要么未正确使用DBRichEdit,要么正在尝试执行q中未解释的操作。

您可以使自己满意,DBRichEdit可以自动运行,而无需在代码中加载或保存其内容,如下所示:

  • 打开FishFacts演示

  • 将TDBNavigator和TDBRichEdit添加到窗体。将DBRichEdit1的DataField属性设置为Notes

  • ReadOnly的{​​{1}}属性设置为False。然后将Table1的{​​{1}}属性设置为True。

  • 编译并运行项目。运行时

  • 启动WordPad.Exe并在其中创建一些RTF。将其复制到剪贴板。单击DBNavigator1的Table1速度按钮。

  • 将富文本粘贴到Active中。

  • 您应该会发现您可以从编辑的记录中移开并返回,并且RTF文本将自动重新加载。

此外,以下代码对我来说也可以从.Rtf文件中加载Save字段

DBRichEdit1

,并且最初不会显示您所描述的未格式化文本。因此,我很确定您的问题出在您的代码中,而您没有向我们展示。

顺便说一句,我将其发布为“答案”的唯一原因是,要发表评论的内容要多于舒适的内容。