在我的 Delphi 程序中,我想显示应用程序生成的一些信息。没有什么花哨的,只有 2 列文本,部分单词用颜色编码。
我想我基本上有两个选择:
- TWebbrowser 中的 HTML
- TRichEdit 中的 RTF。
HTML 更标准,但似乎加载速度较慢,我不得不处理The Annoying Click Sound。如今,RTF 仍然是一个不错的选择吗?
编辑:
来自 dangph 的好问题:“生成的文档会怎样?”
文件在查看后将被丢弃。
在我的 Delphi 程序中,我想显示应用程序生成的一些信息。没有什么花哨的,只有 2 列文本,部分单词用颜色编码。
我想我基本上有两个选择:
HTML 更标准,但似乎加载速度较慢,我不得不处理The Annoying Click Sound。如今,RTF 仍然是一个不错的选择吗?
编辑:
来自 dangph 的好问题:“生成的文档会怎样?”
文件在查看后将被丢弃。
我会投票给 HTML。
我认为它更面向未来。速度与我无关。
HTML 或 RTF 的问题可能无关紧要。如果它们仅用于显示目的,则文件格式无关紧要。它实际上只是一种内部表示。(是否有任何文件甚至被保存到磁盘?)我认为要问的问题是哪一个以最少的工作量解决了问题。
我会稍微担心浏览器控件一直在变化。我怀疑richedit控件会发生很大变化。我会倾向于 Richedit 控件,因为我认为它不会出错。但这两种方式可能都不是什么大问题。
你有没有考虑过做一个ownerdraw TListView?
我也会投票给 HTML。
我们前段时间启动了一个应用程序......我们想要
显示应用程序生成的一些信息。没什么好看的,只是...
(你听到铃声了吗???)
然后我们想显示更多信息并对其进行更多样式设置…………有人认为 RTF 已经不够了,但是为了向后兼容,我们转向 MS Word over OLE-Server。这就是谈论性能的结束。
我认为如果我们在 HTML 中做到这一点,现在会快得多。
RTF 更容易处理,因为 TRichEdit 控件是每个 Windows 安装的一部分,并且比 TWebBrowser(它基本上将 Internet Explorer 的 ActiveX 版本嵌入到您的应用程序中)具有更少的开销。
TRichEdit 也更容易用于以编程方式添加文本和格式。使用 SelStart 和 SelLength 以及文本属性,使添加粗体和斜体、设置不同的字体等变得简单。而且,正如 Re0sless 所说,TRichEdit 可以轻松打印,而 TWebBrowser 使打印变得更加复杂。
我会投票给 RTF,因为我不喜欢 TWebBrowser 使用 Internet Explorer 的事实,因为过去我们在紧密锁定的计算机上遇到过这个问题。
此外,TRichEdit 还内置了一个打印方法,您必须在其中进行各种操作才能让 TWebBrowser 打印。
似乎还没有人提到报告组件。是的,它现在有点矫枉过正,但如果你仍然使用它(也许你已经在你的应用程序中做了一些报告,所以组件已经包含在内)你可以只显示预览并允许打印/导出为 pdf稍后,如果它有任何意义。此外,如果您后来决定想要一个更精美的显示器,那么没有什么能阻止您。
如果 HTML 和 RTF 都不能满足您的需求,您还可以使用支持着色文字的开源文本/编辑组件或基于 Delphi 组件创建自己的编辑组件。
HTML 浏览器的另一个替代方案是“嵌入式 Web 浏览器”组件,我使用了一些项目来向用户显示 html 文档。您可以完全控制嵌入式浏览器,加载页面时我不记得有任何点击。
我也投票给 HTML
RTF 只对它的编辑器有用,否则你最好去标准。
RTF 提供了一些有用的文本编辑选项,例如 HTML 中没有的水平制表符。自动超链接检测也是一个不错的附加功能。但我想如果不需要这些功能,我会更喜欢 HTML。
我投票支持 HTML。
使用 HTML,但通过Henri Gourvest的“ Delphi Wrapper for Chromium Embedded ” ,Chromium Embedded 使用了为Google Chrome提供支持的核心。
不要使用 TWebBrowser,我正在遭受所有使用 IE 网络控制的程序的困扰 - 我的 22 英寸显示器上的字体太小,分辨率为 1920x1080,我使用的是 Windows 7,我的系统的 DPI 是 150%(XP 模式),我尝试了一切来调整试图解决这个问题,没有运气......